巧用Lingo指令实现游戏的碰撞触发机制.pdf

上传人:g****s 文档编号:86032480 上传时间:2023-04-13 格式:PDF 页数:8 大小:510.12KB
返回 下载 相关 举报
巧用Lingo指令实现游戏的碰撞触发机制.pdf_第1页
第1页 / 共8页
巧用Lingo指令实现游戏的碰撞触发机制.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《巧用Lingo指令实现游戏的碰撞触发机制.pdf》由会员分享,可在线阅读,更多相关《巧用Lingo指令实现游戏的碰撞触发机制.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、巧用 Lingo 指令实现游戏的碰撞触发机制 王海婴;赵玮【摘 要】This paper discusses the importance of trigger inspection in games development and talks about the way to use Lingo and send sprite orders in developing games to achieve the trigger mechanism and message deliver after-wards.Therefore,it is possible to realize the tr

2、igger mechanism and makes it wide for games development feasibility.%讨论了触碰检测在游戏开发中的重要性,阐述了利用 Director 进行游戏开发时如何巧用 intersects 指令和 sendSprite 指令实现触碰检测以及后续的消息传递,从而有效实现这种碰撞器、触发器的机制,为 Director 游戏开发提供切实可行的方法。【期刊名称】兰州石化职业技术学院学报【年(卷),期】2015(000)003【总页数】2 页(P43-44)【关键词】Director;互动媒体;游戏;碰撞检测;触发器;Lingo【作 者】王海婴

3、;赵玮【作者单位】兰州石化职业技术学院 印刷与出版工程系,甘肃 兰州 730060;兰州石化公司 动力厂,甘肃 兰州 730060【正文语种】中 文【中图分类】TP317.6 巧用 Lingo 指令实现游戏的碰撞触发机制 王海婴 1,赵 玮 2 (1、兰州石化职业技术学院印刷与出版工程系,甘肃兰州 730060;2、兰州石化公司动力厂,甘肃兰州 730060)摘 要:讨论了触碰检测在游戏开发中的重要性,阐述了利用 Director 进行游戏开发时如何巧用 intersects 指令和 sendSprite 指令实现触碰检测以及后续的消息传递,从而有效实现这种碰撞器、触发器的机制,为 Direc

4、tor 游戏开发提供切实可行的方法。关键词:Director;互动媒体;游戏;碰撞检测;触发器;Lingo 中图分类号:TP317.6 文献标识码:A 文章编号:16714067(2015)03004302 收稿日期:20150622 作者简介:王海婴(1970),男,甘肃平凉人,副教授,硕士.1 触碰检测对于游戏开发的重要性 在互动媒体开发中,触碰检测是一种非常重要的机制 1,它在主流的游戏物理引擎设计中必须要予以实现,一般只有大的游戏公司的顶级设计师才有设计这类引擎的能力。游戏设计中触发器以及其它形式的环境构成了游戏设计的重要部分,诸如帮你创建跟踪移动的瞄准镜,下落物、创建可拾取资源、陷阱

5、等所有非直接由敌人 AI(人工智能)2控制的东西。2 Director 中的触碰检测及消息传递 Director 作为主流的互动媒体设计软件似乎缺乏这种机制,其实,Director 提供的几百条 lingo 指令其有两条就可以联手实现简单的触碰检测并进行消息传递,它们分别是 Intersects 指令和 sendSprite 指令 3。2.1 Intersects 指令 Intersects 是一个特殊的 Lingo 指令。奇怪的是它并不是一个函数,但却可以比较两个对象。其句法是这样的 if sprite A intersects B then.。sprite 这个词出现在第一个角色编号(这里

6、为 A)之前,却不出现在第二个编号(指 B)之前。如果这两个角色的边界框相交,就返回 TRUE,否则返回 FALSE。如果 intersect 指令检测结果为真即两个角色相交,则进行下一步测试,即判断物体的中心是否相互靠近并足以达到某临界值。所谓“中心”,就是套准点。比如瞄准镜的中心套准了飞行器。如果这个测试结果为真,则表明飞行器被瞄准锁定。这时就可以开始射击得分等下一步动作。而且这种检测是逐帧进行的,Director 本身就是基于帧以及时间轴运行的程序,所以要将检测的实现放到 exitFrame 这个事件里进行。on exitFrame me if pModefly then 飞行器在屏幕上

7、随机飞行 sprite(me.spriteNum).locVsprite(me.spriteNum).locVpSpeedY sprite(me.spriteNum).locHsprite(me.spriteNum).locHpSpeedX 看瞄准镜(在 5 号通道)是否与飞行器相交 if sprite me.SpriteNum intersects 5 then 调用测距函数模块看是否进入有效射击范围内 if distance(me,sprite(me.spriteNum).loc,sprite(5).loc)20 then if sprite(me.spriteNum).member.na

8、me敌机then alarming发出凄厉的警报声 fire播放开火射击的动画 addPoint得分 else subtractPoint减分 end if 以下为测距函数 on distance me,p1,p2 return sqrt(power(p1.locHp2.locH,2)power(p1.locVp2.locV,2)end 2.2 消息互传指令 sendSprite 在游戏设计中触发器基本上就是任何可以激活和绊倒的东西,它会因此发送某种形式的消息或是开始一个事件,从而让其他游戏角色动起来,所以涉及到消息的传递和发送,而在 Director 中这可以借助我们要讨论的另外一个指令 s

9、endSprite(同类的还有 sendAllSprites),有了这条指令,行为脚本的控制就不再局限于控制它们自己的角色,而是也能向其他的角色和行为发送指令和信息。sendSprite 指令实现向特定角色发送消息,例如:sendSprite(sprite 1,myHandler,5)这行语句向角色 1 发送 m y H a n d l e r 消息。如果该角色有 on myHandler 处理程序,那么它就会运行。另外,数字5 作为 m e 后面的第一参数传给此处理程序。sendAllSprites 则将消息和信息发送给当前帧中的所有角色,它实际上与sendSprite 相同,但不需要第一个

10、参数。sendAllSprites(myHandler,5)这个命令将消息和信息发送给当前帧中的所有角色。其中任何一个有 on myHandler 处理程序的角色都会接收这个消息并使用它。如果某一行为没有这个处理程序,则此消息被忽略。由于所有飞行器角色的状态标志 pMode 开始时都是none,因此需要采取某种方法把它变成fly。On startFly 处理程序就可完成这个任务。它被帧脚本调用,它指定一个速度值和一个演员,如果那个角色已经在飞行,消息则被传给下一个角色。on startFly me,speed,type if pModenone then若角色正被使用中,则转而调用下一个飞行器

11、演员 sendSprite(sprite(me.spriteNum1),startFly,speed,type)else 以下语句设置演员号、屏幕位置和状态 sprite(me.spriteNum).membermember(type)sprite(me.spriteNum).locpoint(40random(440),200random(440)pSpeedspeed pModefly end if end 在 on startFly 处理程序里,角色的位置是随机设置的。由于本例中的舞台的大小是 4 8 0300 像素,于是选择 14 4 0 间的一个随机数,再加上 4 0,得到 4 14

12、 8 0 间的一个随机数,这样飞行器不会太靠边,帧剧本负责随机让飞行器飞行。如果该角色正忙,则让下一个角色飞行,依此类推。我们可以在剧本中实现随机选择飞行器,既可以是红军,也可是蓝军。3 结束语 详细讨论了 Director 中实现触碰检测的方法,巧妙灵活应用intersectr 和sendsprite 指令为我们运用 Director 进行游戏开发打开了新的广阔天地。笔者使用这种方式成功开发了幼儿安全教育的高空落物游戏“宝贝快跑”及射击飞机游戏。1Michelle Menard Unity(美).游戏开发实战M.北京:机械工业出版社,2012.2管晨晖.浅谈游戏开发中的 AI 技术J.计算机

13、光盘软件与应用,2013,(16):84,315.3古成中,吴新跃.基于 Director 的交互式虚拟仿真系统J.工程设计学报,2007,14(4):284285.The Application of Lingo Orders to Crash Trigger Mechanism WANG Haiying 1,ZHAO Wei 2 (1.Department of PrintingPublishing Engineering,Lanzhou Petrochemical College of Vocational Technology,Lanzhou 730060,China;2.Power

14、Plant of Lanzhou Petrochemical Company,Lanzhou 730060,China)Abstract:This paper discusses the importance of trigger inspection in games development and talks about the way to use Lingo and send sprite orders in developing games to achieve the trigger mechanism and message deliver afterwards.Therefor

15、e,it is possible to realize the trigger mechanism and makes it wide for games development feasibility.Key words:Director;interactive media;games;crash inspection;trigger;Lingo 【相关文献】1Michelle Menard Unity(美).游戏开发实战M.北京:机械工业出版社,2012.2管晨晖.浅谈游戏开发中的 AI 技术J.计算机光盘软件与应用,2013,(16):84,315.3古成中,吴新跃.基于 Directo

16、r 的交互式虚拟仿真系统J.工程设计学报,2007,14(4):284285.The Application of Lingo Orders to Crash Trigger Mechanism WANG Haiying 1,ZHAO Wei 2 (1.Department of PrintingPublishing Engineering,Lanzhou Petrochemical College of Vocational Technology,Lanzhou 730060,China;2.Power Plant of Lanzhou Petrochemical Company,Lanzh

17、ou 730060,China)Abstract:This paper discusses the importance of trigger inspection in games development and talks about the way to use Lingo and send sprite orders in developing games to achieve the trigger mechanism and message deliver afterwards.Therefore,it is possible to realize the trigger mechanism and makes it wide for games development feasibility.Key words:Director;interactive media;games;crash inspection;trigger;Lingo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁