基于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月月考生物试卷
网友关注
- 2012灵石三小学升旗仪式管理制度
- 第九课时:答应别人的事要做到(杜曼丽)
- 周千骏的科技论文
- 五年级下思品教案康洁
- 2014-2015学年度第二年学期五年级体育教学计划。2015.3.4.
- 零花钱第六课时
- 荡起诚信的船桨
- 在乡镇六一儿童节庆祝大会上的讲话
- 第六课时:走亲访友之礼仪(王肖娜)
- 第十三课时:不和别人比吃穿(刘红)
- 第十四课时:孝心日里我当家(梁晓旭)
- 第四课时:文明就寝(马春贤)
- 中规中矩的一年级家长会教师发言稿
- 灵石三小学教室文化布置评分要求
- 第二课时:不给别人起绰号(杨柳)
- 人美版四年级下第十课学画农民画教案
- 在小学毕业班家长会上的讲话
- 第十一课时:认真完成学习任务(闫京芳)
- 品德与社会四第二单元测试卷
- 新教科版六年级下册科学实验记录
- 在小学暑假休学典礼上的讲话
- 阿左旗逸夫回校青年教师培养工作总结
- 《蚂蚁》教学设计
- 六年级下期常识检测题1的答案
- 三年科学上册第三单元画龙点睛
- 第五课时:公交车上让座(董建琴)
- 英语计划
- 打造航空教育特色的具体做法
- 第三课时:文明用餐(关良波)
- 幼儿跆拳道教案
网友关注视频
- 冀教版英语四年级下册第二课
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 7
- 外研版英语三起5年级下册(14版)Module3 Unit1
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 12
- 冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》
- 第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
- 冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
- 苏科版数学八年级下册9.2《中心对称和中心对称图形》
- 苏科版数学 八年级下册 第八章第二节 可能性的大小
- 青岛版教材五年级下册第四单元(走进军营——方向与位置)用数对确定位置(一等奖)
- 冀教版小学数学二年级下册第二单元《租船问题》
- 外研版英语七年级下册module3 unit2第一课时
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 7
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 3
- 北师大版小学数学四年级下册第15课小数乘小数一
- 沪教版八年级下册数学练习册21.3(2)分式方程P15
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
- 精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
- 冀教版英语三年级下册第二课
- 第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T1406126
- 人教版二年级下册数学
- 北师大版八年级物理下册 第六章 常见的光学仪器(二)探究凸透镜成像的规律
- 沪教版八年级下次数学练习册21.4(2)无理方程P19
- 二年级下册数学第二课
- 第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
- 人教版历史八年级下册第一课《中华人民共和国成立》
- 苏教版二年级下册数学《认识东、南、西、北》
- 北师大版数学四年级下册3.4包装
- 沪教版八年级下册数学练习册一次函数复习题B组(P11)
- 【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
精品推荐
- 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
- 网吧管理