flash制造可随心开动并能旋转的坦克车

更新时间:15-10-23 10:00 热度:309
 

  这篇教程是教大家利用flash制造可随心开动并能旋转的坦克车(感受有如在玩遥感交通工具,很趣味),在文章中,我们将学到as中一点基本的语句、属性、对象和办法。 一块儿来学习吧!

  学习flash,不学actionscript,所做的事物是有限的。但众多朋友都在埋怨as太难学了。作者要奉告大家,实际上as一点儿也不难学。好,下边我们就一块儿来学习吧。首先,新建一个文件,600*450像素,环境为黑色,40fps。

  一、成功实现装甲防护体的旋转

  1.按敏捷键ctrl+f8开创一个名为“装甲防护体”的影片儿剪接元件。继续在其编辑场景中画出一个装甲防护体,如图1所示。注意,装甲防护体是环绕场景中央的“╬”字施行旋转的。所以大家在制造的时刻要把装甲防护体圆盖的核心和元件场景中的“╬”字层叠在一块儿。

1510231000465934648052 flash制造可随心开动并能旋转的坦克车

  2.按敏捷键ctrl+f8开创一个名为“坦克车”的影片儿剪接元件。继续在其编辑场景的“图层 1”中画出一个坦克车的主体。继续再从库中把“装甲防护体”元件拖拽到“图层2”中,如图2所示。

15102310004671834934162 flash制造可随心开动并能旋转的坦克车

  3.点选“图层2”中的“装甲防护体”元件,按f9敞开“动作”面板,输入以下代码:

复制代码

代码如下所述:

  // 键盘上有键按下时执行
onclipevent (keydown) {</p>// 假如按下“z”键,装甲防护体向左旋转6度
if (key.getcode() == 90) {
_rotation -= 6;
}
// 假如按下“x”键,装甲防护体向右旋转6度
if (key.getcode() == 88) {
_rotation += 6;
}
}

  测试一下子,你会发觉装甲防护体如今可以旋转了。由于我们经过_rotation属性来变更“装甲防护体”的角度。key.getcode()回返按下的最终一个键的键控代码值。然而,假如读者要用其他键来扼制装甲防护体的挑选也是可以的。具体要用啥子键,我们可以查查该键的代码——字母键a-z对应的数字是65-90。不管你运用啥子键,都要注意这么一个原则——便捷用户操作。

  二、成功实现坦克车的运动

  回到场景1,敞开库,把库中的“坦克车”元件拖入场景中,继续点选“坦克车”元件,按f9敞开“动作”面板,输入如下所述代码:

  

复制代码

代码如下所述:

onclipevent (enterframe) {
// move函数经过变更坦克车的坐标值成功实现坦克车的移动
function move() {
_y -= (math.cos(math.pi/180*this._rotation))*speed;
_x += (math.sin(math.pi/180*this._rotation))*speed;
}
// 假如敲打键盘上的“↑”键或“↓”键,就调配使用move函数
if (key.isdown(key.up)) {
move();
}
if (key.isdown(key.down)) {
move();
}
// 假如敲打键盘上的“←”键或“→”键,就让坦克车旋转
if (key.isdown(key.left)) {
_rotation -= 3;
}
if (key.isdown(key.right)) {
_rotation += 3;</p><p>}</p><p>// 变更坦克车的速度偏移量,使坦克车运动时有一个加速度</p>if (key.isdown(key.up) && !(key.isdown(key.down)) && speed>-3 && speed<3) {
speed += 0.1;
}
if (key.isdown(key.down) && !(key.isdown(key.up)) && speed>-3 && speed<3) {
speed -= 0.1;
}
if ((speed>0.1) && (!key.isdown(key.up)) && (!key.isdown(key.down))) {
move();
speed -= 0.05;
}
if ((speed<-0.1) && (!key.isdown(key.up)) && (!key.isdown(key.down))) {
move();
speed += 0.05;
}
// 假如同时按住两个方向相反的键,坦克车不会一直移动
if ((key.isdown(key.up)) && (key.isdown(key.down))) {
speed /= 1.1;
if ((speed>-0.1) && (speed<0.1)) {
speed = 0;
}
}
// 使坦克车始末现场景中移动
if (_x<=0) {
_x = 600;
} else if (_x>=600) {
_x = 0;
}
if (_y<=0) {
 _y = 450;<p></p>} else if (_y>=450) {
_y = 0;
 }
}

  上头的一大段代码,读者一下恐怕也克化不成。如今作者就来细细地讲讲这些个代码。

  1.大家可以发觉,手续中众多地方用到达move函数,假如我们直接运用move函数里的代码,将会使整个儿手续变得拉得很长。并且,这么也不便对手续地保护。

  2.物体在运动的时刻,总有一个不断变动的加速度。当坦克车在运动在变更运动方向的时刻,所变更的角度是不断变动的。经过代码:

  _y -= (math.cos(math.pi/180*this._rotation))*speed;

  _x += (math.sin(math.pi/180*this._rotation))*speed;

  成功实现这一变动。那里面y轴坐标用“-=”是和flash坐标系设定相关的。由于,在主场景中,上进移动元件,就要减小y值。

  3.key.isdown()办法在按下“()”三拇指定的键时回返true值。我们一般用该办法检验测定是否按下“shift键”、“tab键”。

  如今测试一下子,你一定会感到很趣味的。

  以上flash制造可随心开动并能旋转的坦克车教程,期望大家喜欢!