论文部分内容阅读
摘 要:益智类教学游戏,就是以开发智力为主的游戏,以游戏的形式锻炼脑、眼、手的游戏,使人在游戏中获得逻辑力和敏捷力。本文就以Actionscript 3.0为制作平台,深入研究碰撞检测在益智类教学游戏中的运用。
关键词:益智;教学游戏;碰撞检测
因其休闲、可玩性强的特性,益智类教学游戏深受游戏参与者的喜爱。近几年来,益智类教学游戏不断更新与完善,已经为游戏及教育市场注入了新的活力和发展可能性。而碰撞检测对于益智类教育游戏的设计与制作有着不可或缺的作用。
一、基于actionscript 3.0平台的碰撞检测
⒈事件机制
ActionScript 3.0事件模型基于文档对象模型(DOM)第3级事件规范,是业界标准的事件处理体系结构,为ActionScript程序员提供了强大而直观的事件处理工具。程序员可以使用事件侦听器“侦听”代码中的事件对象。“事件侦听器”是编写的用于响应特定事件的函数或方法。要确保程序响应事件,必须将事件侦听器添加到事件目标,或添加到作为事件对象事件流的一部分任何显示列表对象。
2.hitTestObject( )方法
Actionscript3.0利用hitTestObject ( )方法来检测两个对象(通常为影片剪辑)是否重叠或相撞,如果两个对象相撞后该方法放回值为true,否则为false。在碰撞检测类和动作类游戏中需要用到该方法。
二、碰撞检测在益智类教学游戏中设计与实现
⒈游戏设计
游戏的设计目标是通过角色躲避不同的英文单词,即敌方车辆,来实现英语词汇的学习和提高。关于游戏主要分为前台和后台两个部分。前台主要分为游戏进入界面、游戏开始界面、角色、场景、按钮以及结束界面六个部分。
⒉游戏实现
在游戏后台中,程序运行过程中由ActionScript脚本控制敌方车辆从舞台上端往舞台下端坠落,玩家可以用键盘上的←→键来躲避敌方车辆。游戏的核心代码如下所示:
将制作好的游戏场景界面以及角色添加到场景中,代码如下:
public function Main()
{
vx = 0;
addChild(kaiTou); kaiTou.anNiu.addEventListener(MouseEvent.CLICK,daoFengMian);
<fengMian.jiFenQi.textScore.text = "0";>
score_mc.textScore.text = "0";
score_mc.x = stage.stageWidth - 90;
score_mc.y = 35;
stage.addChild(cover_mc);
cover_mc.btn_S.addEventListener(MouseEvent.CLICK,startgame);
}
function daoFengMian(event:MouseEvent):void
{
addChild(fengMian);
removeChild(kaiTou);
stage.focus = stage;
stage.addEventListener(KeyboardEvent.KEY_DOWN,yaXia);
stage.addEventListener(KeyboardEvent.KEY_UP,tanQi);stage.addEventListener(Event.ENTER_FRAME,yiDong);
jiShiQi();
stage.addEventListener(KeyboardEvent.KEY_DOWN,keysDown);
stage.addEventListener(KeyboardEvent.KEY_UP,keysUp);
stage.addEventListener(Event.ENTER_FRAME,jueSeYiDong);
}
三、结论
hitTestObject( )方法是碰撞检测中的核心方法,利用该方法可以制作很多碰撞检测类游戏,依托此方法,将不同的知识点融入游戏当中,可以制作出很多不同类型的益智类教育游戏希望通过这方面的研究,能够为今后的教育游戏制作提供一定的依据和实践基础。
参考文献:
[1]马增友,宋敏.Adobe Flash CS4动画设计与制作标准实训教
程[M].北京:印刷工业出版社,2011.
[2]Keith Peters(著),苏金国,荆涛等译.Flash ActionScript 3.0动画
高级教程[M].北京:人民邮电出版社,2010.
[3]翟宝利.ActionScript 3.0从入门到精通[M].北京:化学工业出
版社,2009.
[4]杨东昱.Flash动画即战力ActionScript 3.0范例随学随用[M].
北京:清华大学出版社,2009.
基金项目:西北民族大学2014年中央高校基本科研业务费专项资金项目(31920140091)。
作者简介:梁志成(1983— )男,河南人,硕士,西北民族大学讲师,研究方向:数字媒体艺术。
关键词:益智;教学游戏;碰撞检测
因其休闲、可玩性强的特性,益智类教学游戏深受游戏参与者的喜爱。近几年来,益智类教学游戏不断更新与完善,已经为游戏及教育市场注入了新的活力和发展可能性。而碰撞检测对于益智类教育游戏的设计与制作有着不可或缺的作用。
一、基于actionscript 3.0平台的碰撞检测
⒈事件机制
ActionScript 3.0事件模型基于文档对象模型(DOM)第3级事件规范,是业界标准的事件处理体系结构,为ActionScript程序员提供了强大而直观的事件处理工具。程序员可以使用事件侦听器“侦听”代码中的事件对象。“事件侦听器”是编写的用于响应特定事件的函数或方法。要确保程序响应事件,必须将事件侦听器添加到事件目标,或添加到作为事件对象事件流的一部分任何显示列表对象。
2.hitTestObject( )方法
Actionscript3.0利用hitTestObject ( )方法来检测两个对象(通常为影片剪辑)是否重叠或相撞,如果两个对象相撞后该方法放回值为true,否则为false。在碰撞检测类和动作类游戏中需要用到该方法。
二、碰撞检测在益智类教学游戏中设计与实现
⒈游戏设计
游戏的设计目标是通过角色躲避不同的英文单词,即敌方车辆,来实现英语词汇的学习和提高。关于游戏主要分为前台和后台两个部分。前台主要分为游戏进入界面、游戏开始界面、角色、场景、按钮以及结束界面六个部分。
⒉游戏实现
在游戏后台中,程序运行过程中由ActionScript脚本控制敌方车辆从舞台上端往舞台下端坠落,玩家可以用键盘上的←→键来躲避敌方车辆。游戏的核心代码如下所示:
将制作好的游戏场景界面以及角色添加到场景中,代码如下:
public function Main()
{
vx = 0;
addChild(kaiTou); kaiTou.anNiu.addEventListener(MouseEvent.CLICK,daoFengMian);
<fengMian.jiFenQi.textScore.text = "0";>
score_mc.textScore.text = "0";
score_mc.x = stage.stageWidth - 90;
score_mc.y = 35;
stage.addChild(cover_mc);
cover_mc.btn_S.addEventListener(MouseEvent.CLICK,startgame);
}
function daoFengMian(event:MouseEvent):void
{
addChild(fengMian);
removeChild(kaiTou);
stage.focus = stage;
stage.addEventListener(KeyboardEvent.KEY_DOWN,yaXia);
stage.addEventListener(KeyboardEvent.KEY_UP,tanQi);stage.addEventListener(Event.ENTER_FRAME,yiDong);
jiShiQi();
stage.addEventListener(KeyboardEvent.KEY_DOWN,keysDown);
stage.addEventListener(KeyboardEvent.KEY_UP,keysUp);
stage.addEventListener(Event.ENTER_FRAME,jueSeYiDong);
}
三、结论
hitTestObject( )方法是碰撞检测中的核心方法,利用该方法可以制作很多碰撞检测类游戏,依托此方法,将不同的知识点融入游戏当中,可以制作出很多不同类型的益智类教育游戏希望通过这方面的研究,能够为今后的教育游戏制作提供一定的依据和实践基础。
参考文献:
[1]马增友,宋敏.Adobe Flash CS4动画设计与制作标准实训教
程[M].北京:印刷工业出版社,2011.
[2]Keith Peters(著),苏金国,荆涛等译.Flash ActionScript 3.0动画
高级教程[M].北京:人民邮电出版社,2010.
[3]翟宝利.ActionScript 3.0从入门到精通[M].北京:化学工业出
版社,2009.
[4]杨东昱.Flash动画即战力ActionScript 3.0范例随学随用[M].
北京:清华大学出版社,2009.
基金项目:西北民族大学2014年中央高校基本科研业务费专项资金项目(31920140091)。
作者简介:梁志成(1983— )男,河南人,硕士,西北民族大学讲师,研究方向:数字媒体艺术。