




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Flash游戏编程指南/基本游戏框架package import flash.display.MovieClip;import flash.events.Event;import flash.events.MouseEvent;import flash.display.*;import flash.events.*;import .*;public class Game extends MovieClip public static const STATE_INIT:int=10;public static const STATE_PLAY:int=20;public static const STATE_GAME_OVER:int=30;public var gameState:int=0;public var clicks:int=0;public function Game():void addEventListener(Event.ENTER_FRAME,gameLoop);gameState=STATE_INIT;public function gameLoop(e:Event):void switch (gameState) case STATE_INIT :initGame();break;case STATE_PLAY :playGame();break;case STATE_GAME_OVER :gameOver();break;public function initGame():void stage.addEventListener(MouseEvent.CLICK,onMouseClickEvent);clicks=0;gameState=STATE_PLAY;public function onMouseClickEvent(e:MouseEvent):voidclicks+;trace(mouse click number:+clicks);public function playGame():void if (clicks=10) gameState=STATE_GAME_OVER;public function gameOver():void stage.removeEventListener(MouseEvent.CLICK,onMouseClickEvent);gameState=STATE_INIT;trace(game over);/第二个游戏:扎汽球游戏(正版)三个元件:ball=new EnemyImage(), bg=new BackImage(), player=new PlayerImage()package import flash.display.MovieClip;import flash.events.Event;import flash.events.MouseEvent;import flash.display.*;import flash.events.*;import flash.geom.Rectangle;/import flash.media.Sound;import flash.text.*;public class Game02 extends flash.display.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 chances:int = 0;public var bg:MovieClip;public var enemies:Array;public var player:MovieClip;public var level:Number = 0;public var scoreLabel:TextField = new TextField();public var levelLabel:TextField = new TextField();public var chancesLabel:TextField = new TextField();public var scoreText:TextField = new TextField();public var levelText:TextField = new TextField();public var chancesText:TextField = new TextField();public const SCOREBOARD_Y:Number =380;public function Game02() addEventListener(Event.ENTER_FRAME, gameLoop);bg = new BackImage();addChild(bg);scoreLabel.text = Score:;levelLabel.text = Level:;chancesLabel.text =Misses: ;scoreText.text =0;levelText.text =1;chancesText.text =0;scoreLabel.y = SCOREBOARD_Y;levelLabel.y = SCOREBOARD_Y;chancesLabel.y = SCOREBOARD_Y;scoreText.y = SCOREBOARD_Y;levelText.y = SCOREBOARD_Y;chancesText.y = SCOREBOARD_Y;scoreLabel.x = 5;scoreText.x = 50;chancesLabel.x = 105;chancesText.x = 155;levelLabel.x = 205;levelText.x = 260;addChild(scoreLabel);addChild(levelLabel);addChild(chancesLabel);addChild(scoreText);addChild(levelText);addChild(chancesText);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;chances = 0;player = new PlayerImage();enemies = new Array();level = 1;levelText.text = level.toString();addChild(player);player.startDrag(true,new Rectangle(0,0,550,400);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);var tempEnemy:MovieClip;if (chance = 0; i-) tempEnemy = enemiesi;tempEnemy.y -= tempEnemy.speed;if (tempEnemy.y = 0; i-) tempEnemy = enemiesi;if (tempEnemy.hitTestObject(player) score+;scoreText.text = score.toString();/sound.play();enemies.splice(i,1);removeChild(tempEnemy);public function testForEnd():void if (chances= 5) gameState = STATE_END_GAME; else if (score level*20) level+;levelText.text = level.toString();public function endGame():void for (var i:int = 0; i = 0; i-) removeEnemy(i);for (i=missiles.length - 1; i = 0; i-) removeMissile(i);removeChild(player);gameState=STATE_START_PLAYER;public function playGame() makeEnemies();moveEnemies();testCollisions();testForEnd();public function makeEnemies() var chance:int=Math.floor(Math.random() * 100);var tempEnemy:MovieClip;if (chance = 0; i-) tempEnemy=enemiesi;tempEnemy.y+= tempEnemy.speed;if (tempEnemy.y 435) removeEnemy(i);var tempMissile:MovieClip;for (i=missiles.length - 1; i = 0; i-) tempMissile=missilesi;tempMissile.y-= tempMissile.speed;if (tempMissile.y = 0; i-) tempExplosion=explosionsi;if (tempExplosion.currentFrame = tempExplosion.totalFrames) removeExplosion(i);public function testCollisions() var tempEnemy:MovieClip;var tempMissile:MovieClip;enemy:for (var i:int=enemies.length - 1; i = 0; i-) tempEnemy=enemiesi;for (var j:int=missiles.length - 1; j = 0; j-) tempMissile=missilesj;if (tempEnemy.hitTestObject(tempMissile) score+;scoreText.text=score.toString();makeExplosion(tempEnemy.x,tempEnemy.y);removeEnemy(i);removeMissile(j);break enemy;for (i=enemies.length - 1; i = 0; i-) tempEnemy=enemiesi;if (tempEnemy.hitTestObject(player) chances-;chancesText.text=chances.toString();makeExplosion(tempEnemy.x,tempEnemy.y);gameState=STATE_REMOVE_PLAYER;public function makeExplosion(ex:Number,ey:Number) var tempExplosion:MovieClip;tempExplosion=new ExplosionImage ;tempExplosion.x=ex;tempExplosion.y=ey;addChild(tempExplosion);explosions.push(tempExplosion);var sound:Sound=new Explode ;sound.play();public function testForEnd() if (chances level * 30) level+;levelText.text=level.toString();public function removeEnemy(idx:int) removeChild(enemiesidx);enemies.splice(idx,1);public function removeMissile(idx:int) removeChild(missilesidx);missiles.splice(idx,1);public function removeExplosion(idx:int) removeChild(explosionsidx);explosions.splice(idx,1);pu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通讯电子技术试题及答案
- 2025商业地产租赁合同范本
- 2025年春季部编版初中数学教学设计八年级下册第1课时 菱形的性质
- 2025设备购买协议合同范本
- A1 自愿离婚协议书示范文本
- 知识题库-人社练兵比武劳动竞赛试题及答案(二十一)
- 公园出入口课件
- 《2025协商解除劳动合同协议》
- 搜课件模板app无删减
- 揭阳安全知识培训课件平台
- 个人信用征信服务合同
- 2025年水手理论考试题库
- 2025至2030年中国广州酒店行业市场全景调研及投资规划建议报告
- 第9课 让我们的学校更美好 第1课时(课件)2025-2026学年道德与法治三年级上册统编版
- 公路工程常规试验项目标准及检测频率取样方法全新盘点
- 稳定基金管理办法
- 2025年徐州市(中小学、幼儿园)教师招聘考试题库及答案
- 《中华医学会麻醉学分会.麻醉后监测治疗专家共识(2021版)》
- 数据安全管理员职业技能鉴定经典试题含答案
- 动设备培训课件
- 微多普勒技术用于低空公共安全治理的应用研究
评论
0/150
提交评论