Flash游戏开发制作旋转坦克
小编导读:
if ((speed<-0.1) && (!Key.isDown(Key.UP)) && (!Key.isDown(Key.DOWN))) {
speed /= 1.1;
function move() {
实现这一变化。其中y轴坐标用“-=”是和Flash坐标系设定有关的。因为,在主场景中,向上移动元件,就要减小y值。
// 键盘上有键按下时执行
} else if (_y>=450) {
// 如果敲击键盘上的“←”键或“→”键,就让坦克旋转
3.点选“图层2”中的“炮塔”元件,按F9打开“动作”面板,网通传奇网站,输入以下代码:
}
_rotation -= 3;
speed = 0;
一、实现炮塔的旋转
}
if (Key.isDown(Key.DOWN)) {
// 如果同时按住两个方向相反的键,坦克不会一直移动
if (Key.isDown(Key.UP) && !(Key.isDown(Key.DOWN)) && speed>-3 && speed<3) {
_y = 0;
onClipEvent (keyDown) {
speed += 0.05;
}
回到场景1,打开库,把库中的“坦克”元件拖入场景中,接着点选“坦克”元件,按F9打开“动作”面板,输入如下代码:
_rotation -= 6;
move();
onClipEvent (enterFrame) {
if (Key.isDown(Key.DOWN) && !(Key.isDown(Key.UP)) && speed>-3 && speed<3) {
3.Key.isDown()方法在按下“()”中指定的键时返回true值。我们通常用该方法检测是否按下“Shift键”、“Tab键”。
}
}
}
move();
if ((speed>0.1) && (!Key.isDown(Key.UP)) && (!Key.isDown(Key.DOWN))) {
_x += (Math.sin(Math.PI/180*this._rotation))*speed;
if ((speed>-0.1) && (speed<0.1)) {
}
if (Key.getCode() == 88) {
move();
// move函数通过改变坦克的坐标值实现坦克的移动
speed -= 0.1;
if (Key.getCode() == 90) {
if (_x<=0) {
if (Key.isDown(Key.RIGHT)) {
speed -= 0.05;
// 如果按下“x”键,炮塔向右旋转6度
学习Flash,不学ActionScript,所做的事情是有限的。但很多朋友都在抱怨AS太难学了。笔者要告诉大家,其实AS一点也不难学。现在,笔者就教大家制作一个可以随意开动,并旋转其炮台的坦克(感觉就象在玩遥控汽车,很有意思)。在文章中,我们将学到AS中一些基本的语句、属性、对象和方法。
_y -= (Math.cos(Math.PI/180*this._rotation))*speed;
_x = 600;
}
if (_y<=0) {
1.大家可以发现,程序中很多地方用到了move函数,如果我们直接使用move函数里的代码,将会使整个程序变得冗长。而且,这样也不方便对程序地维护。
}
_y = 450;
好,下面我们就一起来学习吧。首先,新建一个文件,600*450像素,背景为黑色,40fps。
}
} else if (_x>=600) {
}
move();
speed += 0.1;
1.按快捷键Ctrl+F8创建一个名为“炮塔”的影片剪辑元件。接着在其编辑场景中绘制一个炮塔,如图1所示。注意,炮塔是围绕场景中央的“╬”字进行旋转的。所以大家在制作的时候要把炮塔圆盖的中心和元件场景中的“╬”字重叠在一起。
}
2.按快捷键Ctrl+F8创建一个名为“坦克”的影片剪辑元件。接着在其编辑场景的“图层 1”中绘制一个坦克的主体。接着再从库中把“炮塔”元件拖拽到“图层2”中,如图2所示。
_rotation += 6;
_x += (Math.sin(Math.PI/180*this._rotation))*speed;
_y -= (Math.cos(Math.PI/180*this._rotation))*speed;
}
2.物体在运动的时候,总有一个不断变化的加速度。当坦克在运动在改变运动方向的时候,所改变的角度是不断变化的。通过代码:
// 如果按下“z”键,炮塔向左旋转6度
if ((Key.isDown(Key.UP)) && (Key.isDown(Key.DOWN))) {
// 如果敲击键盘上的“↑”键或“↓”键,就调用move函数
}
二、实现坦克的运动
现在测试一下,你一定会觉得很有意思的。
// 使坦克始终在场景中移动
// 改变坦克的速度偏移量,使坦克运动时有一个加速度
}
if (Key.isDown(Key.LEFT)) {
测试一下,你会发现炮塔现在可以旋转了。因为我们通过_rotation属性来改变“炮塔”的角度。Key.getCode()返回按下的最后一个键的键控代码值。不过,如果读者要用其它键来控制炮塔的选择也是可以的。具体要用什么键,我们可以查查该键的代码——字母键a-z对应的数值是65-90。无论你使用什么键,都要注意这样一个原则——方便用户操作。
if (Key.isDown(Key.UP)) {
_rotation += 3;
}
上面的一大段代码,读者一下子恐怕也消化不了。现在笔者就来细细地讲讲这些代码。
_x = 0;
}
热门资讯
06-02
·本来这就是顺 理成章的06-02
·无论是哪个平台的玩家都有机会玩06-02
·二八杠游戏中心:杰克逊豪宅950万06-02
·6月1日苹果游戏榜单:《无尽的纷06-02
·2016年5月31日-6月4日台北电脑展06-02
· 延伸阅读: (责任编辑:孙珺)06-02
·到底花了多少钱?11区宅男晒16年06-02
· 什么是陀螺仪 陀螺仪是利用高速
传奇特荐
05-04
·《期间》评最具影响力50款科技产05-05
·虐心游戏《Choppa》评测:虐的就05-06
·慈文传媒第一季度矫正通告:上半05-19
·女主播直播斗鸡游戏 衣着暴露动05-19
·眼下就是花式告白的最佳时机05-19
·《白发魔女传》删档测试今日开启05-19
·整体音乐让游戏带入感非常不错05-20
·《诛仙手游》中还有凄凉肃杀的空05-21
·pass:深圳市巨彩科技05-21
·pass:棋牌游戏银商