基于actionscript的flash游戏碰撞检测研究
上传者:关宏超|上传时间:2015-04-24|密次下载
基于actionscript的flash游戏碰撞检测研究
科技信息 SCI ENCE & TECHNOLOGY I NFORMATI ON 2012 年 第29 期
Flash 是我们使用最广泛的交互式适量动画制作工具, 我们知道
ADOBE 公司出品的播放 flash 动画的 FLASH PLAYER 在全球的桌面
电脑上拥有 97%的占有率。 Flash 拥有出色的图形处理能力,丰富的画
面表现能力,优秀的交互性能,而且它所制做的动画,矢量图形体积
小,下载方便,容易传播,这些特点使其已经成为现今游戏制作的最重
要的工具之一,也成为下一代 RIA(Rich Internet Application, 富互联
网应用程序)的主力
1 Flash 游戏与 actionscrip 语言的发展
自从 flash 在 996 年发布以后,flash 和 actionscript 语言同步发
展
[]
,越来越多的人运用该软件和 actionscript 语言进行动画制作和设
计, 尤其在智能手机和网络游戏产业高速发展的今天, 无数使用
actionscript 语言制作的应用和游戏丰富着我们的生活。 从上个世纪开
始就有程序员利用 flash 制作一些简单的单机版游戏比如贪吃蛇和泡
泡龙。 在 actionscript 3.0 出现以前,大部分简单的小游戏将动作代码
置于关键帧内。 直至 actionscript 3.0 的出现,这个面向对象的语言给
flash 游戏的制作带来了新的活力,一些大型的社交网站例如开心网,
腾讯空间等都运用了 actionscript 3.0 技术制作,一些大型的网页游戏
也使用 flex/flash 和 actionscript3. 作为前端开发工具。
2 交互式游戏中碰撞检测的研究
大多计算机游戏都是交互式游戏,在这些交互式过程中,通常需
要判断 2 个或者多个物体是否接触发生碰撞而产生相应的效果。 例如
贪吃蛇游戏中,我们通常需要判断蛇与障碍物是否接触碰撞,碰撞后
通常障碍物消失而蛇的身体延长,除了与障碍物的碰撞外,还需要检
测蛇行进过程中与画面边缘的碰撞,如果碰撞后,可以直接判断游戏
失败,或者越墙而过出现在画面另外一端。 在 actionscript 2. 流行的
时候,我们有一种很简单的检测碰撞的方法:距离检测法 简单的来
说,距离检测法即判断两个物体之间的直线距离是否大于两个物体的
直径之和,如果直线距离小于直径之和,则两个物体一定发生碰撞 通
常情况下,我们会设置一个全局参数来判断碰撞状态,部分代码如下:
//假设我们有 2 个苹果 那么判断他们是否相撞则比较它们的距
离
public function checkHitTest()
{
var dx:Number= appleA.x)- appleB.x);
var dy:Number= appleA.y)- appleB.y);
var distance:int=Math.sqrtdx*dx+dy*dy);
var length:int = appleA.r + appleB.r
//计算两个物体的直径之和
if distance> length)
{
isHit = false;
}
else
{
isHit = true;
}
}
虽然距离检测法非常直观方便,但是由于用来比较的是两个物体
的平均直径之和, 所以该方法用于圆形物体的碰撞检测准确且方便
但该方法最大的缺点是对于非圆形物体,尤其是不规则形状物体的直
径测量等不方便且存在误差较大
自从 AS 3. 逐渐普及以后, 给检测物体间碰撞的方式带来了极
大的方便,AS 3. 中带有一个很简单的 hitTestObject 方法可以用来检
测任意两个对象是否发生相互碰撞 判断两个物体是否碰撞的简单方
法如下
[2]
:
If appleA.hitTestObjectappleB) )
{
isHit = true;
}
else
{
isHit = false;
}
我们可以看到,对象苹果 A 后面紧跟着 hitTestObject 方法,此外,
该方法还带有一个参数对象苹果 B,即碰撞检测的目标对象 仅仅几
行代码,AS 3. 即可以使用简单的逻辑进行碰撞检测, 但是和距离检
测法一样,hitTestObject 也有一些明显的缺点
通常在 FLASH 中我们所看到的对象是一个不规则的图形, 使用
hitTestObject)方法的时候,可能部分程序员会认为只要接触到对象边
缘及以内即可以成功进行碰撞检测,但是事实上并非如此
在不规则的图形外面有一个运行的时候并不能看见的矩形盒
子,通常我们称之为边框,比如图 中飞翔的海鸥,当我们单击它
的时候会发现它的四周是有矩形边框的,当我们使用 hitTestObject
) 方法的时候,只要任意一个物体的某一部分边框接触到另外物体
的边框的时候,都被认为发生了碰撞,但是在视觉上可能因此造成
了错觉 就如图 中所示, 明明没有触碰到的海鸥在实际判断中
还是相撞了 由此可见,hitTestObject) 方法更适应于矩形或者方形
物体 越规则的物体的碰撞检测使用 hitTestObject) 方法精确度越
高 (下转第 136 页)
基于
actionscr ipt
的
flash
游戏碰撞检测研究
齐 济
(顺德职业技术学院 广东 顺德 528300)
【摘 要】Flash 游戏随着 actionscript 语言的发展变得越来越流行,尤其是 actionscript3.0 问世以后,面向对象的语言是以元件等来制作动画
的 flash 变得更加简单和便于实现。 碰撞检测是 flash 游戏里面非常关键的一个概念,由于两个物体的运动不可避免而发生的碰撞,会给整个游
戏带来更加精彩的可玩性。 本文主要介绍了从 actionscript 2. 开始 flsh 游戏中最常用的一些碰撞检测机制,深入剖析了各自的优缺点,为以后
进一步的深入研究做好准备。
关键词Actionscript 语言;Flsh 游戏;碰撞检测
A Survey of Flash Game Collision Detection Based on Actionscript
QI Ji
(Guangdong Shunde Polytechnic College,Shunde Guangdong,528300)
bstractThe flash game is more and more popular with the development of actionscript language especially since the creation of actionscript
3.. The flash animation is much easier to implement because the actionscript 3. is a f Object-oriented language. The collision detection is a very
important concept in flash game. The two moving objects will undoubtedly have a collision when they move around and which will make the flash
game more interesting. Our paper will introduce sevreal collision detection schemes since actionscript 2. discuss the advantage and disadvantage of
all those schemes for the further research.
Key wordsActionscript language;Flash game;Collision detection
○I T论坛○
132
下载文档
热门试卷
- 2016年四川省内江市中考化学试卷
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
- 山东省滨州市三校2017届第一学期阶段测试初三英语试题
- 四川省成都七中2017届高三一诊模拟考试文科综合试卷
- 2017届普通高等学校招生全国统一考试模拟试题(附答案)
- 重庆市永川中学高2017级上期12月月考语文试题
- 江西宜春三中2017届高三第一学期第二次月考文科综合试题
- 内蒙古赤峰二中2017届高三上学期第三次月考英语试题
- 2017年六年级(上)数学期末考试卷
- 2017人教版小学英语三年级上期末笔试题
- 江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
- 重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
- 江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
- 江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
- 山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
- 【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
- 四川省简阳市阳安中学2016年12月高二月考英语试卷
- 四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
- 安徽省滁州中学2016—2017学年度第一学期12月月考高三英语试卷
- 山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
- 福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
- 甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷
网友关注
- 解读国际现货市场的政策Word
- 出国(境)常用英语应急速成手册
- 租赁合同简本
- 人力资源管理三级-第六章劳动关系管理
- 人才报名表
- 新世纪商务英语综合教程第二册课文译文
- 决胜开局(2016两会-十三五)Word
- 人力资源管理三级-第三章培训与开发
- 管理者的角色认知(Word_95)
- 世界的聚落Word
- 关于团队激励的27pWord
- 第四节-澳大利亚(第二课时)Word
- A1室内设计基础理论系列——风格Word
- 2017年首都医科大学105103老年医学招生目录
- 32阿德的梦Word
- 华润燃气成员企业人力资源商业计划编制(模版)Word
- 员工离职原因分析与解决方案Word
- 双手合十,祈祷好梦不要醒来
- 伊利唤醒原力《星球大战7》整合推广计划1014Word
- 现有公路安全生命防护示范工程验收办法-20161102
- 发现新的自己做新的自己
- 世界主要气候类型Word
- 暖通制冷基础知识Word
- 美容店的广告招牌设计类型有哪些Word
- 气温和降水Word
- 致铜川高考家长的一封信,通过立思辰留学360直接入读世界500强大学
- 成都文旅集团城市设计Word
- 朦胧诗Word
- 新概念英语第一册第11课Word
- 改进的HMM系统在英语语音合成中的研究_张雪英
网友关注视频
- 冀教版小学数学二年级下册第二单元《余数和除数的关系》
- 第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
- 《空中课堂》二年级下册 数学第一单元第1课时
- 【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
- 河南省名校课堂七年级下册英语第一课(2020年2月10日)
- 苏科版数学八年级下册9.2《中心对称和中心对称图形》
- 冀教版小学英语四年级下册Lesson2授课视频
- 3月2日小学二年级数学下册(数一数)
- 第4章 幂函数、指数函数和对数函数(下)_六 指数方程和对数方程_4.7 简单的指数方程_第一课时(沪教版高一下册)_T1566237
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 2
- 北师大版数学 四年级下册 第三单元 第二节 小数点搬家
- 苏教版二年级下册数学《认识东、南、西、北》
- 二次函数求实际问题中的最值_第一课时(特等奖)(冀教版九年级下册)_T144339
- 第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
- 北师大版数学四年级下册第三单元第四节街心广场
- 【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 3
- 外研版英语七年级下册module3 unit2第一课时
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,天津市
- 七年级下册外研版英语M8U2reading
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 12
- 8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
- 19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
- 8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
- 二年级下册数学第三课 搭一搭⚖⚖
- 外研版英语七年级下册module3 unit2第二课时
- 人教版二年级下册数学
- 冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
精品推荐
- 2016-2017学年高一语文人教版必修一+模块学业水平检测试题(含答案)
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
分类导航
- 互联网
- 电脑基础知识
- 计算机软件及应用
- 计算机硬件及网络
- 计算机应用/办公自动化
- .NET
- 数据结构与算法
- Java
- SEO
- C/C++资料
- linux/Unix相关
- 手机开发
- UML理论/建模
- 并行计算/云计算
- 嵌入式开发
- windows相关
- 软件工程
- 管理信息系统
- 开发文档
- 图形图像
- 网络与通信
- 网络信息安全
- 电子支付
- Labview
- matlab
- 网络资源
- Python
- Delphi/Perl
- 评测
- Flash/Flex
- CSS/Script
- 计算机原理
- PHP资料
- 数据挖掘与模式识别
- Web服务
- 数据库
- Visual Basic
- 电子商务
- 服务器
- 搜索引擎优化
- 存储
- 架构
- 行业软件
- 人工智能
- 计算机辅助设计
- 多媒体
- 软件测试
- 计算机硬件与维护
- 网站策划/UE
- 网页设计/UI
- 网吧管理