快速业务通道

Flash AS3教程:小游戏开发实战尝试

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-07-03

前面讲解了Flash AS3教程:Direction类和Dot类,前面都是理论的讲解,这篇来一个实战,做一个类似坦克游戏的程序。

http://www.webjx.com/files/media/dirtanke.swf
这几天也写了一些类了,是驴子还是骡子,拿出来遛一遛就知道了,先看这个上面这个flash动画!

一个类似坦克游戏的demo程序
使用Direction类来进行方向控制
使用Dot类来计算距离
用上Direction类和Dot类之后,这个demo程序变得异常简单额。。
也没什么好说,主要透过这个例子,让大家类熟悉Direction类和Dot类的使用方法
不懂的可以在后面跟帖提问,高手如果看到什么有错误的地方,请指正出来,多谢指教

下面是fla的源代码:

CODE:

import index.base.game.Direction;
import index.base.events.DirectionEvent;
import index.base.geom.Dot;

//舞台属性设置
stage.showDefaultContextMenu = false;
stage.align = "TL";
stage.scaleMode = "noScale";

//创建坦克
var tank:Tank = new Tank;
tank.x = tank.y = 250;
addChild(tank);

//创建绑定坦克的点
var dot:Dot = new Dot;
dot.bind(tank);

//坦克移动
var dirTank:Direction = new Direction(stage);
//炮台转动
var dirTower:Direction = new Direction(stage,true,87,83,65,68);

//坦克炮台事件
dirTank.addEventListener(DirectionEvent.DO,doTankFun);
dirTower.addEventListener(DirectionEvent.DO,doTowerFun);

//坦克移动
function doTankFun(e:DirectionEvent):void{
        if(e.up){
                dot.go(2,true);
        }
        if(e.down){
                dot.go(-2,true);
        }
        if(e.left){
                tank.rotation -= 2;
        }
        if(e.right){
                tank.rotation += 2;
        }
        if(tank.x < 0) tank.x = 0;
        if(tank.y < 0) tank.y = 0;
        if(tank.x > stage.stageWidth) tank.x = stage.stageWidth;
        if(tank.y > stage.stageHeight) tank.y = stage.stageHeight;
}

//是否可以发射炮台,子弹
var isBullet:Boolean = true;
var isShell:Boolean = true;
//炮台发射转动
function doTowerFun(e:DirectionEvent):void{
        if(e.up && isBullet){
                var bullet:Bullet = new Bullet;
                bullet.x = tank.x;
                bullet.y = tank.y;
                bullet.rotation = tank.rotation + tank.tower.rotation;
                bullet.addEventListener(Event.ENTER_FRAME,bulletFun);
                addChild(bullet);
               
                isBullet = false;
                setTimeout(function(){isBullet = true},200)

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号