5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:北京
性别:先生
最后登录:2014-08-29
http://veteran.5d.cn/
www.toswf.com
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2005/12/14 | 射击类游戏的开发过程(Flash):(一)
类别(Flash)
|
评论
(0)
|
阅读(111)
|
发表于 10:28
射击类游戏的开发过程(Flash):
1、人物移动
2、射击
3、敌人
4、碰撞监测
5、分数
6、重载
7、暂停
8、声音
9、复杂的敌军线路
10、敌人的射击
11、游戏的扩展
这篇文章的版本是:Flash mx and AS1.0 如果需要编译为AS2.0的话,可能需要修改其中的一些语法规则
--------------------------
1、人物的移动:
一般控制人物的移动是鼠标或者键盘,这里我们用键盘来控制它的移动,这里我们要控制
的是一架蓝色的飞机在屏幕上自由的移动。
首先把画布设置成550*300大小,FPS是25,画出英雄,不要画的太大了,然后转化为影片剪辑,实例名是:
“hero”。
图片如下:
拖动该mc到舞台上面,然后新建一个ACTION层,输入如下代码:
_root.onEnterFrame = function()
{
moveHero(5);
}
在该事件中,我们将会传递参数5到moveHero这个函数当中,以下是该函数:
function moveHero(speed)
{
//check if key is down
if (Key.isDown(Key.UP))
{
_root.hero._y -= speed;
}
else if (Key.isDown(Key.LEFT))
{
_root.hero._x -= speed;
}
else if (Key.isDown(Key.DOWN))
{
_root.hero._y += speed;
}
else if (Key.isDown(Key.RIGHT))
{
_root.hero._x += speed;
}
}
到这里,我们传递的参数5在moveHero函数中是该飞机的速度speed;一秒的二十五分之一是移动5象素,所以
一秒是移动125像素。
在moveHero这个函数体中,开始的if语句是判断Up键是否被按下,这样_root.hero的属性_y的值会减少。所以
飞机就会向上运动了。
这里所用到的else if 是为了让飞机只能向唯一的一个方向飞,当然你也可以修改它。
0
评论
Comments
日志分类
首页
[185]
Flash
[123]
ColdFusion
[2]
Flex
[2]
FlashMedia
[3]
RIA
[4]
Other
[43]
Python
[0]
Design
[8]