基于FL+FB碰撞类游戏框架原理设计与实现

2017-11-20 09:22顾凤梅
电脑知识与技术 2017年27期
关键词:碰撞检测圆形矩形

顾凤梅

摘要:针对目前网络上众多的碰撞类游戏,给出三种游戏碰撞检测设计原理。根据原理,使用FL和FB软件和ActionScript3.0语言完成了游戏框架设计,实现了其功能,给游戏编程初学者提供了一定的帮助,提高了游戏的开发效率。

关键词:FL+FB;碰撞;游戏;ActionScript3.0

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)27-0079-02

Abstract:In view of the current many collision games on the network, three game collision detection design principles are given.According to the principle, using Fl and FB software and ActionScript3.0 language complete the design of the game framework, realized its function.It provides some help for game programming beginners, and improves the efficiency of game development.

Key words:FL+FB; collision; game; ActionScript3.0

1 概述

随着电子技术以及网络的发展,各种游戏随处可见,碰撞类游戏不管是在网络版还是单机版都比较多,本文就是讲述了碰撞类游戏几种碰撞框架原理,并且利用FL和FB,实现了这几种碰撞原理。

FL就是Flash软件,更侧重于设计,适合设计人员使用,也可以利用FL软件,和ActionScript3.0语言结合做出碰撞类游戏,但只是基本的ActionScript编辑操作,而FB是Flash Builder侧重于脚本编程,适合开发人员使用,可以对ActionScript进行高级编辑操作,如果若是使用FL软件,对于编程人员可能要求的也更多一些,对于人物角色,设计的理论也要懂得更多,对高级ActionScript编辑操作也只有使用FB。在之前的文中都是利用FL软件来制作碰撞类游戏,本文利用FL+FB这两种软件结合完成碰撞类游戏几种框架原理的设计与实现,给游戏编程的初学者提供了帮助,也提高了游戏的开发效率。

利用FL+FB制作实现游戏界面的设计和ActionScript3.0代码书写,在FL+FB碰撞类游戏中,两个物体碰撞,这两个物体有的是矩形,有的是圆形,有的是不规则的图形,越复杂的图形碰撞原理越复杂,本文主要是对规则的图形进行分析其原理并利用FL和FB进行实现。

2 物体碰撞检测原理

2.1 矩形对象碰撞原理

在大多数碰撞类游戏制作中,要进行碰撞原理检测大多数都处理成矩形碰撞,就是检测两个矩形的坐标位置,有没有相交叉的地方,重合的地方。在FL中左上角原点坐标是(0,0),譬如假如设置其中一个矩形的左上角的坐标是(XA,YA),宽度高度分别是WA,HA,把另一个矩形的左上角的坐标是(XB,YB),宽度高度分别是WB,HB,如图1矩形碰撞示例。

2.2 圆形对象碰撞原理

检测两个圆形是否发生碰撞,首先计算两个圆心之间的距离,如果小于两个圆形对象半径之和,则认为这两个圆形对象发生碰撞了。

假设第一个圆形的左上角坐标是(XC,YC),半径是RC,另一个圆形的左上角的坐标是(XD,YD),半径为RD,则第一个圆形圆中心坐标是(XC+RC,YC+RC),第二个圆中心坐标是(XD+RD,YD+RD),如图2圆形碰撞示例。

3 FL+FB碰撞原理框架实现

3.1 矩形碰撞原理框架实现

先在FL中画个矩形物体 Rectangle 类,如图3Rectangle 类,生成SWC文件,在FB中导入文件,代码中创建了两个Rectangle类的实例rectangle1和rectangle2,其中设置rectangle2是为能拖动的。在FB中使用ActionScript代码hitTestObject方法判断两个矩形对象是否发生了碰撞。

3.2 圆形物体碰撞框架原理实现

在FL中建立了一个Circle类(如Recangle类),两个圆对象发生了碰撞,每个圆都占80像素宽,半径就是40。对于两个大小相同的圆球来说,如果距离小于直径,不同的话就是两个半径的和,就会产生碰撞,不再使用hitTestObject方法。如图5圆形碰撞实现实例,ActionScript3.0代码为(两个相同的圆,半径为40,dist为两个圆心之间的距离):

3.3 对象与点框架碰撞实现

但在真正应用中很多物体不是矩形的,也不是圆形物体碰撞,有的是点与物体的碰撞,如射击子弹的碰撞,这个点可以是很小的对象也可以是鼠标。

4 總结

本文总结了基于FL+FB的碰撞类游戏框架三种原理并用代码实现了,在碰撞类游戏制作中,可以利用这三种框架原理进行碰撞检测来设计,减少了编程初学者在碰撞类游戏程序设计开发的时间,提高了开发碰撞类游戏的效率。

参考文献:

[1] 贺晓霞,方宁.ActionScript3.0编程特效实战[M].北京:清华大学出版社,2010.

[2] Gary Rosenzweig. ActionScript 3.0游戏编程[M].胡蓉, 张东宁, 朱栗华.北京:人民邮电出版社,2012.

[3] 郭禧珍.基于ActionScript3.0的碰撞类游戏的设计与实现[J].网络安全技术与应用,2013(8):16-17.

[4] 碰撞检测(as3.0) [EB/OL]. http://blog.sina.com.cn/s/blog_69d4b0ec0100vb9l.html.endprint

猜你喜欢
碰撞检测圆形矩形
全新预测碰撞检测系统
两矩形上的全偏差
基于BIM的铁路信号室外设备布置与碰撞检测方法
化归矩形证直角
Unity3D中碰撞检测问题的研究
从矩形内一点说起
肥皂泡为什么是圆形?
圆形题
圆形变身喵星人
BIM技术下的某办公楼项目管线碰撞检测