基于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月月考生物试卷
网友关注
- 关于改善办学条件亟需资金支持的报告
- 补充协议
- 个人租房合同4
- 李龙庆
- 中环办公室巡检报告
- 我嫁汉嫁汉
- 保密
- 中恒学校市级卫生单位申报材料
- 2014兴宁市科研课题立项通知
- 英国签家长同意书
- 仪征市享受农村五保供养待遇申请书
- 技术入股协议书
- 黑龙江省社会科学研究系列
- 便利车承包合同
- 钢结构加工承揽合同
- 工程款申请报告范本
- 瓦检员交接班制度
- 房屋租赁合同
- 房屋买卖协议书
- Application-Form-Members KNX会员申请表格
- 承 诺 书
- 2015-2022年中国石膏板市场研究及投资战略研究报告
- 独生子女父母婚育状况证明
- 合资经营协议书
- 股份制公司合作协议
- 高温岗位调查情况汇报及附表
- 韩立华
- 技术负责人目标责任书
- 安全责任
- 水利部取水许可证登记表
网友关注视频
- 冀教版小学英语五年级下册lesson2教学视频(2)
- 北师大版小学数学四年级下册第15课小数乘小数一
- 二年级下册数学第三课 搭一搭⚖⚖
- 二年级下册数学第一课
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,辽宁省
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
- 冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
- 外研版英语七年级下册module3 unit2第二课时
- 北师大版数学 四年级下册 第三单元 第二节 小数点搬家
- 七年级下册外研版英语M8U2reading
- 化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 12
- 沪教版八年级下次数学练习册21.4(2)无理方程P19
- 小学英语单词
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
- 【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
- 冀教版小学数学二年级下册第二单元《有余数除法的简单应用》
- 北师大版数学四年级下册第三单元第四节街心广场
- 外研版英语三起6年级下册(14版)Module3 Unit2
- 二年级下册数学第二课
- 七年级英语下册 上海牛津版 Unit5
- 第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
- 青岛版教材五年级下册第四单元(走进军营——方向与位置)用数对确定位置(一等奖)
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 7
- 冀教版英语三年级下册第二课
- 第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
- 沪教版八年级下册数学练习册21.3(3)分式方程P17
- 冀教版小学英语四年级下册Lesson2授课视频
- 苏科版八年级数学下册7.2《统计图的选用》
- 【部编】人教版语文七年级下册《老山界》优质课教学视频+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
- 网吧管理