魅族M8开发初识及一点思考
来源:互联网 发布:拳击手套淘宝 编辑:程序博客网 时间:2024/05/01 19:00
近日比较寂寞,公司的开发任务也比较轻松。于是向同学低价买了台2手魅族M8玩玩,初次接触惊叹于M8惊艳的电容触摸屏,感觉比Iphone的还好点,这就激起了我对研究这款机器的兴趣。下面就是我这几天研究的心得。
根据M8的SDK帮助文档描述,安装完Meizu M8 Application Wizard后可以在VS2005和VS2008中新建工程文件,顺序VC++ -> Meizu M8 Device MZFC App,但是我发现这样会创建工程文件失败。用尽各种GOOGLE来的方法都没效果,但是笔者发现Sample中的例子都能正常运行。
于是笔者发现只有以下唯一一种办法能新建立工程: VC++ -> 智能设备 -> 选择M8SDK 创建新工程,然后将新工程中的CPP内容清除,将Sample中Hello World的CPP内容copy过来,OK 运行正常。
关于M8模拟器/仿真器 显示过大的问题,因为M8真机的屏幕分辨率相当高,而PC上的仿真器分辨率和真机一样,但是我们PC上常用的分辨率(1024*768)比M8的要低,于是要将PC分辨率调整到1280*960才能正好完美显示魅族M8的仿真器。
如下图所示:
魅族M8所提供的SDK中的文件来看,M8对开发者操作底层的东西还是提供了很多支持,甚至感觉开放了些不该开放的内容,利用这些完全可以做邪恶的东西。
M8的库文件中有,d3dm.lib,d3dmx.lib,ddraw.lib 这3个支持DirectX的库文件,比正常的WM DirectX 少了对纹理支持及D3DM数学应用的库文件, 也没有相应的H文件支持。但是对3D操作上面,M8提供了对OPENGL ES的支持,但是这东西貌似不是通过硬件加速来渲染3D。 可能是DX3D的硬件开发成本比较高,技术上比较难搞定,M8虽然保留了DX3D的接口,但是并不提供相应的API,相对来说OPENGL ES是个不错的替代品(OPENGL ES,M8应该是采用三星CPU做硬件加速渲染,复杂的3D Mesh肯定会导致游戏卡死)。还没测试GAPI是否能在M8上面使用。
M8的程序结构并不是WinCE的标准结构,封装了很多基本的程序,省去了很多不必要的麻烦,程序精简干练了很多。个人感觉,M8的程序结构和用法更类似于J2ME。M8很多东西属于高度封装的,建议多参考SDK,个人感觉M8的SDK 比 MS的好多了。
建立简单的程序如下面2步:(摘入自M8SDK)
1. 从CMzWndEx派生一个新的窗口类(通常是程序的主窗口),重载 CMzWndEx::OnInitDialog() 并在其中初始化窗口中的控件。
2. 从CMzApp派生一个新的应用程序类(例如class MyApp: public CMzApp{...};), 并定义它的一个全局变量(例如 MyApp theApp;),重载 CMzApp::Init()成员函数并在其中创建并显示应用程序的窗口。
M8的控件使用简单来说分为以下几步: 注册控件(有些控件不需要) -> 设置控件属性 -> 添加控件到界面。
M8的控件响应操作(以按钮为例):
重载该方法 virtual void OnMzCommand(WPARAM wParam, LPARAM lParam) ---> 根据消息机制写相应的代码。
M8提供了Sqlite轻量型数据库的支持。类库也很丰富,对于熟悉VC++的人来说开发不是很困难。
M8的SDK目前不支持.net CF, 但是PPC的.net CF程序,可以运行在M8上面(或者通过LBE游戏助手的帮助)。
不要梦想WM的3D程序能很快的移植到M8上来,那是短期内不可能实现的。我试图移植1个以前用.net开发的2D连连看(WM 6),没有成功。
欢迎大家没事来我网站转转www.j2megame.com 仅提供技术资料~!~
- 魅族M8开发初识及一点思考
- 魅族M8游戏框架开发的思路及方法,同样适用于WinCE设备的游戏开发。
- 开发中的一点思考
- 开发的一点思考
- 魅族M8
- 魅族m8开发 step by step(3)(BasicControl)
- 魅族m8开发 step by step(2)(hello world)
- 学习总构及一点思考
- 一个ThreeJS的毕业设计及一点思考
- 敏捷开发方法的一点思考
- 我对软件开发的一点思考
- 软件开发项目管理的一点思考
- 基于移动开发平台的一点思考
- 对软件项目开发的一点思考
- app hybrid开发的一点思考
- 关于APP开发的一点思考
- 敏捷SCRUM开发的一点思考
- 关于android开发中的一点思考
- 去除Firefox 3.6中flash与java applet对象的虚线框
- Oracle lpad 函数
- LANSWITCH芯片功能
- PetShop详解 网页地址
- Setup snmp trap for VCS -- from Pablo
- 魅族M8开发初识及一点思考
- 解决_类百度在线留言本_所遇到的问题
- 一点想法与打算
- C# 通过ado.net 访问oracle
- 名词解释
- Why Choose Dalian for Investment
- C++ 内部链接与外部链接
- 【转贴】在 J2EE系统中应用OSCache
- 双重惊喜——Windows Phone Developer Tools初体验