当前位置: YIQ网 游戏生活 数码 Flash如何制作可随意开动并能旋转的坦克

软件 长安一家亲软件 中核智慧建造app 枣乡临泽客户端 2022苏州线上教育学生版 泰语翻译官手机版 human to cat

游戏 冰鸟游戏幻剑问情 江湖风云录小鹿破解6.0 封神奇谭手游taptap版 全民暗黑官网 幽城幻剑录破解版 三世桃花手游公测版

Flash如何制作可随意开动并能旋转的坦克

更新时间:2023-01-11 16:50:49 来源:YIQ网

这篇教程是教大家利用Flash制作可随意开动并能旋转的坦克(感觉就象在玩遥控汽车,很有意思),在文章中,将学到AS中一些基本的语句、属性、对象和方法。一起来学习吧!......

这篇教程是教大家利用Flash制作可随意开动并能旋转的坦克(感觉就象在玩遥控汽车,很有意思),在文章中,将学到AS中一些基本的语句、属性、对象和方法。 一起来学习吧!

学习Flash,不学ActionScript,所做的事情是有限的。但很多朋友都在抱怨AS太难学了。要告诉大家,其实AS一点也不难学。好,下面就一起来学习吧。

首先,新建一个文件,600*450像素,背景为黑色,40fps。

一、实现炮塔的旋转

1.按快捷键Ctrl+F8创建一个名为炮塔的影片剪辑元件。接着在其编辑场景中绘制一个炮塔,如图1所示。注意,炮塔是围绕场景中央的?字进行旋转的。所以大家在制作的时候要把炮塔圆盖的中心和元件场景中的?字重叠在一起。

2.按快捷键Ctrl+F8创建一个名为坦克的影片剪辑元件。接着在其编辑场景的图层 1中绘制一个坦克的主体。接着再从库中把炮塔元件拖拽到图层2中,如图2所示。

3.点选图层2中的炮塔元件,按F9打开动作面板,输入以下代码:

复制代码

代码如下:

// 键盘上有键按下时执行

onClipEvent (keyDown) {

// 如果按下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;

}

// 改变坦克的速度偏移量,使坦克运动时有一个加速度

if (Key.isDown(Key.UP) !(Key.isDown(Key.DOWN)) speed-3 speed3) {

speed += 0.1;

}

if (Key.isDown(Key.DOWN) !(Key.isDown(Key.UP)) speed-3 speed3) {

speed -= 0.1;

}

if ((speed0.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) (speed0.1)) {

speed = 0;

}

}

// 使坦克始终在场景中移动

if (_x=0) {

_x = 600;

} else if (_x=600) {

_x = 0;

}

if (_y=0) {

_y = 450;

} 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制作可随意开动并能旋转的坦克教程,希望大家喜欢!

本文标题:Flash如何制作可随意开动并能旋转的坦克
本文永久链接:https://www.yiq.com/shenghuo3738917.html
the end
声明:YIQ网稿件来源主要为网站原创、用户投稿、网络资源整理等。如果相关权益人认为本文侵犯您的权益,请备好权益证明、身份证明,及时联系QQ 1926491587 我们将会在48小时内给文章处理!

数码列表

网站介绍 | 版权声明 | 联系我们 | 网站地图 | 违法和不良信息举报中心

作品版权归作者所有,如果侵犯了您的版权,请联系我们,本站将在3个工作日内删除

健康游戏忠告:抵制不良游戏,拒绝盗版游戏。注意自我保护,谨防受骗上当。适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。

邮箱:电话: