M8开发
loseleo
有钱就行
展开
-
DDraw在M8上的总结
花了几天时间学习了一下DDraw,也算入门,发现很多地方在wince6.0上都无法实现,比如无法关键色处理surface,无法旋转图片等,但没办法,只有DDraw才能在模拟器上调试,而且OpenGl ES貌似入门很繁琐,又不能在模拟器上调试,只能硬着头皮看了。希望以后又机会能研究OpenGl ES,另外发现DDraw的确很好学,可能我学的是其中一块吧,有点少,声音还没有看呢~~原创 2009-11-22 19:39:00 · 919 阅读 · 6 评论 -
好久没更新了~~今日圣诞节~~分享画PNG透明的方法
这几个星期都在完善飞机游戏,今天收到Xer的新UI哈哈,正在写橡皮筋算法~ 昨天调通了OpenGLES,这玩意可真是麻烦的要命啊,各种初始化~~~不过M8的支持还可以了。 另外说个画带边缘透明的PNG的方法~~我试了好几天啊。。。。。 所谓带透明的PNG,就是指那些有的地方透明,有的 地方不透明的图片,也就是无底PNG 传统做法是ddraw设置关键色,然后图片要透明原创 2009-12-25 21:38:00 · 2310 阅读 · 4 评论 -
关于M8两点触摸开发
今天试验了一下M8的两点开发,发现有个BUG,但是不影响使用。M8的两点开发用法相对来说还是简单的,下面是具体方法: 首先: if(RegisterTouchNotifyEx(theAPP.m_MainWnd.m_hWnd, MZ_TOUCH_GET, TCH_NOTIFY_FLAG_RAWDATA) == FALSE) { MzMessageBoxEx(theAPP.m_MainW原创 2009-12-10 19:57:00 · 703 阅读 · 0 评论 -
开发飞机游戏总结
首先本人从C转到C++的,所以很多如vector用的不熟练。 程序里创建了几个类,子弹类,爆炸类 为最小的子类,玩家飞机类和敌方飞机类(想合为一个类然后继承的。。。)是两个中等类,每一个都有自己的子弹类40个和爆炸类1个对象。然后一个admin类(这个叫法是参考一个D3D开发人叫的,也就是一个总管类)里面创建玩家飞机类的对象一个,敌方飞机类对象指针数组100个。 这里指定了数量,因原创 2009-12-06 20:55:00 · 1013 阅读 · 0 评论 -
关于wince 没有Key press事件的解决方法
首先说下用途:1用来接收长按消息:比如当在一个页面长按后出现选项,winCe的那个QQ聊天界面长按就有复制功能,这种实现方法用下面代码在OnLButtonDown事件下加入如下代码 SHRGINFO shrg; shrg.cbSize = sizeof(shrg); shrg.hwndClient = m_hWnd; s原创 2009-12-07 21:44:00 · 1079 阅读 · 0 评论 -
M8 解决 无法用blt 半透明和AlphaBlt实现关键色的问题。
M8 搭载的DDraw属于wince 6.0的产品,AlphaBlt不能设置关键色,这就使那些想做透明图片,并且速度的人有了很多障碍,原来使用的方法是创建一个半透明的png图,每次都imaginghelper.draw上去,那个帧数低的心都快碎了。。经过试验发现一个很好的方法,速度还是不错的,那就是BitBlt函数,方法就是创建一个半透明png,然后draw到一个surface上,假设为surfa原创 2009-12-06 20:44:00 · 1554 阅读 · 0 评论 -
关于横屏后LButtonDown事件接收不到的感悟
今日在手机上测试时,发现屏幕480-720之间的点击效果无效,经过跟踪发现原因出在横屏代码上原始横屏代码:bool rotateScreen(DWORD dwRotaion){ DEVMODE settings; memset(&settings, 0, sizeof(DEVMODE)); settings.dmSize = sizeof(DEVMODE); settings.dmFi原创 2009-12-01 19:19:00 · 764 阅读 · 0 评论 -
Blt用来拷贝不成功的分析与解决
今天写了如下代码: m_pDDSBackUp->GetDC(&hdcBackUp); imBackGround.Draw(hdcBackUp,rBackGround); imCorps.Draw(hdcBackUp,rDesCorps); m_pDDSBackground->Blt(NULL,m_pDDSBackUp , NULL, DDBLT_WAITNOTBUSY, N原创 2009-11-30 22:04:00 · 1283 阅读 · 0 评论 -
今日开发总结
今天把僵尸做成了类,每次只需要new一个然后放在vector中就可以,构造函数会设置初始值。至此主界面和僵尸类已经写好,等待春锋的植物类写完就可以进入游戏测试阶段了。但是美工还是比较头疼的部分。。。没办法,没资源哎原创 2009-12-01 19:24:00 · 576 阅读 · 0 评论 -
M8 中设置文字属性的两种方法对比和分析
M8 是基于WinCE的开发平台,但是是那种减肥版的,很多功能都不能用,比如CString这个类,只要包含#include 则模拟器就会死在进程创建的地方,这个应该是winCE不支持。今天试验了两种设置字体并显示的方法,下面一一列举:1.GetFont()的方法,具体使用如下:HFONT hfont = FontHelper::GetFont(80);//80大小的字体 HFONT h原创 2009-11-25 20:38:00 · 862 阅读 · 0 评论 -
M8 AlphaBlt使用方法
啥也不说,先上代码static int nAlpha = 0; int step = 10;//这个是用来设置步长的,也就是每次衰减或者增加多少 DDALPHABLTFX alphatx; alphatx.dwSize = sizeof(alphatx); alphatx.ddargbScaleFactors.alpha = nAlpha; pDDSurface->Alph原创 2009-11-25 20:51:00 · 2232 阅读 · 2 评论 -
Today's tips
今天在M8上试验了动画,发现速度还蛮快的,以下是几点学习笔记:1.ddraw的使用流程:创建个primary surface创建个background surface然后创建一个自用 mysurface,用imaginghelper 来load一个资源文件设置好区域,然后mysurface->getDCimaginghelper draw 到这个dc上释放DC然后原创 2009-11-23 19:34:00 · 751 阅读 · 0 评论 -
M8中DDraw关键色的处理方法
DWORD DDColorMatch(IDirectDrawSurface* pdds, COLORREF rgb) { COLORREF rgbT; HDC hdc; DWORD dw = CLR_INVALID; DDSURFACEDESC ddsd; HRESULT hres; // // Use GDI SetPixel to color match f原创 2009-11-22 19:35:00 · 1302 阅读 · 0 评论 -
发现个横屏模式小问题,记录下来
// Init the COM relative library. CoInitializeEx(0,COINIT_MULTITHREADED); //Create the main window RECT rcWork = MzGetWorkArea(); m_MainWnd.Create(0,0,RECT_WIDTH(rcWork),RECT_HEIGHT(rcWork),0,0,0);原创 2009-11-22 19:27:00 · 654 阅读 · 1 评论 -
如何使M8开发变为横屏开发
今天经过几个网友的帮忙,找到了这份代码// 执行旋转屏幕bool rotateScreen(DWORD dwRotaion){ DEVMODE settings; memset(&settings, 0, sizeof(DEVMODE)); settings.dmSize = sizeof(DEVMODE); settings.dmFields = DM_DISPLAYORIENTATI原创 2009-11-22 19:24:00 · 848 阅读 · 0 评论 -
WinInet 介绍
WinInet(「Windows Internet」)API帮助程序员使用三个常见的Internet协议,这三个协议是:用于World Wide Web万维网的超文本传输协议(HTTP:Hypertext Transfer Protocol)、文件传输协议(FTP:File Transfer Protocol)和另一个称为Gopher的文件传输协议。WinInet函数的语法与常用的Win32 AP转载 2010-03-14 00:33:00 · 1071 阅读 · 0 评论