制作flash cs的简单小游戏

以flash cs6为例制作小游戏。 制作flash <wbr>cs的简单小游戏
文件素材可以从图片上截图下来之后,稍微用ps处理下就行了。
需要的有:
1.一个背景板。2.气球。3.齿轮。
新建一个Game.as文件。把下面代码放进去。
package{
  import flash.display.MovieClip;
  import flash.events.Event;
  import flash.events.MouseEvent;
  import flash.display.*;
  import flash.events.*;
  import flash.net.*;
  import flash.geom.Rectangle;
  import flash.media.Sound;
  import flash.text.*;
  public class Game extends MovieClip{
  public static const STATE_INIT: int =10;
  public static const STATE_PLAY: int =20;
  public static const STATE_END_GAME: int =30;
  public var gameState:int =0;
  public var score:int=0;
  public var level:Number =0;
  public var chance:int =0;
  public var bg:MovieClip;
  public var enemies:Array;
  public var player:MovieClip;
  public var scoreLabel:TextField = new TextField();
  public var levelLabel:TextField = new TextField();
  public var chanceLabel:TextField = new TextField();
  public var scoreText:TextField = new TextField();
  public var levelText:TextField = new TextField();
  public var chanceText:TextField = new TextField();
  public const SCOREBOARD_Y:Number=380;
  public function Game(){
  addEventListener(Event.ENTER_FRAME,gameLoop);
  bg=new BackImage();
  addChild(bg);
  scoreLabel.text="Score:";
  levelLabel.text="level:";
  chanceLabel.text="Misses:";
  scoreText.text="0";
  levelText.text="1";
  chanceText.text="0";
 
  scoreLabel.y=SCOREBOARD_Y;
  levelLabel.y=SCOREBOARD_Y;
  chanceLabel.y=SCOREBOARD_Y;
  scoreText.y=SCOREBOARD_Y;
  levelText.y=SCOREBOARD_Y;
  chanceText.y=SCOREBOARD_Y;
 
  scoreLabel.x=5;
  scoreText.x=50;
  chanceLabel.x=105;
  chanceText.x=155;
  levelLabel.x=205;
  levelText.x=260;
 
  addChild(scoreLabel);
  addChild(scoreText);
  addChild(levelLabel);
  addChild(levelText);
  addChild(chanceLabel);
  addChild(chanceText);
 
  gameState=STATE_INIT;
}
public function gameLoop(e:Event):void{
switch(gameState){
case STATE_INIT:
initGame();
break;
case STATE_PLAY:
playGame();
break;
case STATE_END_GAME:
endGame();
break;
}
}
public function initGame():void{
score=0;
chance=0;
level=1;
levelText.text=level.toString();
player=new PlayerImage();
addChild(player);
player.startDrag(true,new Rectangle(0,0,550,400));
enemies=new Array();
gameState=STATE_PLAY;
}
public function playGame():void{
player.rotation+=15;
makeEnemies();
moveEnemies();
testCollisions();
testForEnd();
}
public function makeEnemies():void{
var chance:Number =Math.floor(Math.random()*100);
if(chance<2+level){
var tempEnemy:MovieClip;
tempEnemy=new EnemyImage();
tempEnemy.speed=3+level;
tempEnemy.gotoAndStop(Math.floor(Math.random()*5)+1);
tempEnemy.y=435;
tempEnemy.x=Math.floor(Math.random()*515);
addChild(tempEnemy);
enemies.push(tempEnemy);
}
}
public function moveEnemies():void{
var tempEnemy:MovieClip;
for(var i: int = enemies.length-1;i>=0;i--){
tempEnemy=enemies[i];
tempEnemy.y-=tempEnemy.speed;
if(tempEnemy.y<-35){
chance++;
chanceText.text=chance.toString();
enemies.splice(i,1);
removeChild(tempEnemy);
}
}
}
public function testCollisions():void{
var tempEnemy:MovieClip;
var sound:Sound=new Pop();
for(var i:int =enemies.length-1;i>=0;i--){
tempEnemy=enemies[i];
if(tempEnemy.hitTestObject(player)){
score++;
scoreText.text=score.toString();
sound.play();
enemies.splice(i,1);
removeChild(tempEnemy);
}
}
}
public function testForEnd(){
if(chance>=5){
gameState=STATE_END_GAME;
}
else{
if(score>=level*20){
level++;
levelText.text=level.toString();
}
}
}
public function endGame(){
for(var i:int =enemies.length-1;i>=0;i--){
removeChild(enemies[i]);
}
enemies=[];
player.stopDrag();
}

  }
  }
保存到本地的某个文件夹下。
之后新建一个ActionScript3.0的 .fla文件。保存到相同的路径下。
在flashcs6里面打开这个.fla文件,可以看到库面板,该文件的属性里面有个链接,输入Game这个类的名字,将他们链接到一起。
可以看到flash cs 的.fla文件下方有个时间轴,里面有1,5,10.,,,这些。对应下面代表的是帧。右键第一个,插入空白关键帧。然后文件-导入-导入到舞台。导入图片到该帧。依次类推。前五个帧,全部导入红色的气球图片。后面导入齿轮,背景。
之后在每个帧里面点击图片,然后右键,转换为元件,之后弹出窗口,转化为影片剪辑。并且导出类。齿轮导出类名问PlayerImage,气球导出类名为EnemyImage.背景导出图片为BackImage.
然后点击选中第一个帧,点击窗口,动作。输入代码stop();
这样整个游戏就建造完成了。
其实主要的功能都在代码里面。
代码本身比较好理解。只有那个BackImage这些类的出处新手可能不清楚。其实就是前面的那些元件建立的导出类的名字。
  然后可以通过Ctrl+Enter来测试影片。生成的可执行的文件为.swf文件。
 
附加知识点:
如果想导入动画的话,可以将一系列的帧放到一个影片里面。然后文件-导出为影片剪辑。其实就是讲这个的.fla文件导出为一个类,来引用。之后再在于Game想关联的那个.fla文件里面,导入该影片剪辑到相应的库中即可。之后将该.swf文件,设置导出类为相应的要调用的类即可。
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小公子三木君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值