如何创建一个射击游戏在Adobe Flash -第1部分

由马特·Fussell在动画
加入虚拟教练

让我们所有的课程,电子书,生活bob综合娱乐体育官网入口经验,批评,今天教案和更多。

如何创建一个视频游戏使用动作脚本2.0部分-你的符号吗

我将使用Adobe Flash CS 4本教程,但您可以使用任何的Adobe Flash版本2.0支持动作脚本。(视频教程进一步沿着这页。)

我们将创建一个射击游戏风格的英雄,三个敌人,一个记分员,标题屏幕。我将为您提供的所有代码。你只需要遵循的方向和有创造力。

一步一步的说明和代码

步骤1——开始

打开一个新的Flash文件并选择2.0动作脚本。确保你的文档集合的默认大小是550 px 400 px。确保你的帧率(fps)是15至24岁。打开你的图书馆(在顶部的“窗口”)。在图书馆右击,选择“新符号”。确保你的新符号是一种“影片剪辑”。命名新的象征“宇宙飞船”。一定要我这里名称完全相同的方式。如果你不,您的代码将不会正常工作。在屏幕上画出你的英雄。 This can be a space ship, or whatever you want. Be creative here. You can always go back and change it later though. Align your registration, the "+" in the middle, with were you will want your bullets to come out. If your hero has a gun, be sure to put the end of the gun in the crosshairs of the registration.

步骤2 -添加你的英雄

回到主时间轴上。单击并拖动你的空间船(英雄)阶段。你将你的英雄将会决定他将开始在游戏中。给它一个实例的名称“船”。再一次,我们需要非常具体。它需要拼写完全相同的方式,在这里我有资本“S”。

步骤3——添加一些代码

下面的代码复制并粘贴到第一帧的操作面板的主时间轴……

var计时器= 8;
var nrEnemies = 3;
var生活= 3;
var得分= 0;

(i = 1;我< nrEnemies;我+ +)
{
_root.Enemy。duplicateMovieClip(“敌人”+我,_root.getNextHighestDepth ());
}

var = 0;
这一点。enterframe = function ()
{
计时器+ +;
如果(Key.isDown (Key.RIGHT))
{
如果船。hitTest(550船。_y吗,真的)
{
船。值- = 10;
}

船。值+ = 10;
}else if (Key.isDown (Key.LEFT))
{
如果船。hitTest(0,船。_y吗,真的)
{
船。值+ = 10;
}
船。值- = 10;
}else if (Key.isDown (Key.UP))
{
如果(Ship.hitTest(船。值- 40 0真实)
{
船。_y吗+ = 10;
}
船。_y吗- = 10;
}else if (Key.isDown (Key.DOWN))
{
如果(Ship.hitTest(船。值- 400,真)
{
船。_y吗- = 10;
}
船。_y吗+ = 10;
}
如果(Key.isDown (Key.SPACE))
{
我+ +;
如果(计时器> = 8)
{

_root。attachMovie(“子弹”,“子弹”+我,_root.getNextHighestDepth ());
_root(“子弹”+ i)。值=船。值+ 3;
_root(“子弹”+ i)。_y吗= Ship._y;
var shoot_sound =新的声音();
shoot_sound.attachSound(“开枪”);
shoot_sound.start ();
计时器= 0;
}

}
}

现在测试你的游戏按“控制+输入”。你的船(英雄)应按箭头键移动舞台。它应该在舞台上,而不是消失的边缘。

第4步—创建一些子弹

在你的图书馆再次右键单击。创建一个“新符号”,确保它是一个影片剪辑。命名为“子弹”。一定要点击“动作脚本导出”单选按钮。如果你没有看到它,单击高级按钮查看选项。在子弹的象征,吸引你的子弹。有创造力,可以不管。一定要排队登记你的子弹的右侧。

将下面的代码添加到操作面板“子弹”符号的第一帧时间轴……

这一点。enterframe = function ()
{
(我= 0;我< _root.nrEnemies;我+ +)
{
如果这一点。hitTest (_root(“敌人”+ i)))
{
(“敌人”+ i) _root .reset ();
_root。+ = 10分;
this.removeMovieClip ();
}
}

这一点。值+ = 12;
如果这一点。值> 550)
{
this.removeMovieClip ();
}

}

现在测试你的电影。你的英雄(船)应该移动和射击子弹时按空格键。很酷,不是吗?现在让我们添加一些坏人。

第五步,添加一些坏人

右击你的图书馆和创建一个新的象征。这应该是一个影片剪辑。你的新名字象征“敌人”。现在,画你想让你的敌人是什么样子。一旦你的敌人了,回到你的主要阶段时间表并拖动你的敌人。给你第一次的敌人一个实例名(属性)的“Enemy0”,第二个敌人应该有一个实例名“Enemy1”和第三应该“Enemy2”实例名。下面的代码添加到每个实例在舞台上。要做到这一点,右键单击每一个敌人,选择“动作”,复制并粘贴以下代码…

onClipEvent(负载)
{
重置()函数
{
var计时器= 12;
这一点。_y吗= math . random () * 300
这一点。值= 550
mySpeed = Math.ceil (math . random () * 6) + 1;
}
重置();
}
onClipEvent (enterFrame)
{
/ /在每一帧中定义的敌人移动的速度复位功能。
这一点。值- = mySpeed;
如果这一点。值< -10)
{
/ /如果敌人不是在屏幕上,我们重置它。
重置();
}
/ /如果我们计时器大于12我们得到一个新的
如果(计时器> = 12)
{
/ /方向。
var dir = Math.ceil (math . random () * 2)
/ /得到一个随机数,1或2。1,2 =。
/ /然后计时器设置为0,所以我们只得到一个新的dir当定时器大于12
计时器= 0;
}
如果(dir = = 1)
{
/ /如果dir = 1,我们将船。
这一点。_y吗- = 3;
}else if (dir = = 2)
{
/ /如果dir = 2,我们将船。
这一点。_y吗+ = 3;
}
/ /增加定时器1,所以计时器就等于12,我们得到一个新的方向。
计时器+ +
}

现在这部电影再次测试。你可以四处乱飞,杀死敌人,但你的英雄没有死的时候。

步骤6 -代码你的英雄(船)

现在你可以添加代码的实例主时间轴的船在舞台上。

右键单击该船在主时间轴上的实例,选择行动,并添加以下代码…

onClipEvent(负载)
{
重置()函数
{
这一点。值= 100;
这一点。_y吗= 150;
}
重置()
}
onClipEvent (enterFrame)
{
(我= 0;我< _root.nrEnemies;我+ +)
{
如果这一点。hitTest (_root(“敌人”+ i)))
{
_root。生活- = 1;
如果(_root。生活< = 0)
{
_root。attachMovie(“游戏结束”、“游戏结束”,100年)
_root.GameOver。值= 275
_root.GameOver。_y吗= 150
this.swapDepths (10);
this.removeMovieClip ();
}

重置()
(k = 0;k < _root.nrEnemies;k + +)
{
(“敌人”+ k) _root .reset ();
}
}
}
}

现在测试你的电影。你的敌人会死当你拍摄他们,打你时,他们会杀了你。在第二部分,我们将动画角色。

如何创建一个射击游戏第1部分

如何创建一个射击游戏第2部分

如何创建一个射击游戏第3部分

如何创建一个射击游戏第4部分

如何创建一个射击游戏第5部分

如何创建一个射击游戏第6部分

喜欢这节课吗?
如果是这样,加入36000人,收到我们的通讯与新绘画课。另外,看看我们的三免费课程视频和电子书。
Baidu
map