Open Game Maker 2D 教程 - 第五讲 |
||
在第五讲里,我们会学习如何创建一个带有自定义属性和自定义事件的精灵。 |
||
|
||
步骤一、创建一个新的空游戏 | ||
请按照第一讲中的步骤一来创建一个新的空游戏。 | ||
步骤二、添加图片资源到游戏中 |
||
请先从以下路径中下载我们将会使用到的图片: |
||
gameres/button.bmp |
||
请参考第四讲中的步骤二,把 "button.bmp" 添加到游戏中。 | ||
这里要选择的是 "button.bmp" 文件: |
||
这次我们不设置图像的色键: |
||
点击 "OK" 按钮完成添加操作: | ||
步骤三、 新建一个带有自定义属性的精灵 | ||
打开精灵列表,点击 "Add" 按钮开始添加新精灵: | ||
在弹出的精灵编辑窗口中,只需要输入"Sprite Name",然后点击在"Custom properties" 选项卡上的 "Add" 按钮: | ||
在弹出的对话框中,给精灵设置一个名叫 "Caption" 的字符串型属性,并把这个属性的初始值(默认值)设为 "Label" 。 | ||
回到精灵编辑对话窗口中后,点击"OK" 按钮就可以创建一个没有动画,但带有一个自定义属性的新精灵: |
||
在精灵列表中选中新建的 "Label" 精灵,并双击他的 "OnDraw" 事件: |
||
然后 "OnDraw" 事件的脚本代码就会自动生成: |
||
复制一下蓝色的代码并粘贴到 "OnDraw" 事件中去: | ||
int iSprId = OGE_GetSpr(); int iPosX = OGE_GetPosX(iSprId); int iPosY = OGE_GetPosY(iSprId); int iScreen = OGE_GetScreenImage(); OGE_SetPenColor(iScreen, 0); Label label(iSprId); OGE_DrawText(iScreen, label.Caption, iPosX, iPosY); |
||
请注意:粗体的文本内容正展示如何访问精灵的自定义数据。 |
||
点击 "Save file" 按钮保存脚本文件。 |
||
把 "Label" 精灵拖放到场景中去: |
||
同时,我们也可以试一下修改精灵对象中的自定义属性的值: |
||
点击 "Run scene" 按钮来测试一下效果: |
||
然后会得到以下的运行结果界面: |
||
步骤四、新建一个带有自定义事件的精灵 | ||
请参考第四讲中的第三个步骤, 使用"button"图像来创建一个名叫"Button"的新精灵,该精灵属于"Panel" 类型,只有一个动画,这个动画里也只有一个帧。 | ||
在创建的过程中,我们需要在 "Custom events" 选项卡中点击 "Add" 按钮来添加自定义事件: |
||
在弹出的窗口中输入一个名叫 "OnClick" 的自定义事件: |
||
最后返回到精灵编辑窗口,点击"OK"来创建这个带自定义事件的精灵: | ||
在精灵列表中选中 "Botton" 精灵,双击他的 "OnMouseUp" 事件: | ||
添加以下代码到 "OnMouseUp" 事件中: | ||
Button btn; btn.DoClick(); |
||
然后再双击 "OnClick" 事件,并添加以下代码: | ||
OGE_Print("Say hello!\n"); |
||
点击 "Save file" 按钮来保存脚本文件: | ||
把"Button"精灵拖放到场景中,并双击他的 "OnClick" 事件: |
||
往 "OnClick" 事件中添加以下代码: | ||
OGE_CallBaseEvent(); OGE_Print("Say goodbye!\n"); |
||
点击 "Save all files" 按钮来保存全部修改过的文件: | ||
然后点击 "Run scene" 来运行测试一下: | ||
如果一切正常的话,当你点击游戏中的按钮时,你可以在控制台中看到下图所示的输出内容: |
||
好了,第五讲就到这里了。如果你对这一讲有任何问题,请到论坛上发帖。 | ||
谢谢大家,我们下次再见。 | ||