flah射击游戏源代码的简单介绍
admin 发布:2022-12-19 18:57 157
今天给各位分享flah射击游戏源代码的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、如何制作简单的射击类(比CS还要简单的)游戏
- 2、怎样把flash小游戏的代码找出来?
- 3、1084: 语法错误: rightparen 应在 colon 之前。求大神教下怎么做Flash射击类游戏。
- 4、请高手帮忙解释flash游戏代码 要详细 每一代码一中文
- 5、flash制作FPS射击游戏
如何制作简单的射击类(比CS还要简单的)游戏
射击类游戏(一)
第二部分开始类的编写:
1、首先打开Flash CS4 (CS3、CS4或CS5没什么大的区别)新建项目,按确定。打开项目面板。图:新建项目
2、点击右边的第一个三角按钮(项目),在下拉菜单中选"新建项目"。在弹出新建项目面板项目名称:填入项目名称。在根文件夹:项中点击右边的浏览按钮,浏览到准备存放项目的目录,按确定。在ActionScript版本:选ActionScript 3.0 。单击"创建项目"按钮,这样项目就建好了。图:项目面板
3、把AirRaid.fla文件复制到项目文件夹下(省去制作界面)。点击下面的"创建类"图标,在弹出的创建类面板类:的文本框中填入文件名:AirRaid 单击创建类按钮。这样类就创建好了并为我们写好了类的框架,我们可以在框架中添加我们的代码了。图:创建类
图:填入类名
图:类的框架
4、编写AirRaid.as类
AirRaid.as类:文档类 AirRaid类是游戏的控制器,绑定AirRaid.fla 。负责生成界面上的飞机、火炮、子弹。显示得分,子弹的剩余数量。注册了键盘按下,释放侦听器,接收用户的键盘操作。注册了进入帧事件侦听器,进行碰撞检测。定义一个飞机计时器,随机生成飞机。检测剩余子弹的数目,当子弹数为零时也就是主角死亡了,移除界面上的飞机,火炮,跳转到重玩按钮。
package {
public class AirRaid extends MovieClip {
private var aagun:AAGun;//火炮
private var airplanes:Array;//飞机数组
private var bullets:Array;//子弹数组
public var leftArrow, rightArrow:Boolean;
private var nextPlane:Timer;//不定时生成飞机的计时器
private var shotsLeft:int;//得分文本
private var shotsHit:int;//子弹数文本
// 初始化得分数和子弹数
// 生成炮加入到舞台上
// 生成飞机、子弹数组
// 键盘按下、释放事件侦听器
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownFunction);
// 进入帧事件侦听器,检测子弹击中飞机的碰撞检测。
addEventListener(Event.ENTER_FRAME,checkForHits);
// 生成下一架飞机
setNextPlane();
}
//不定时生成飞机
public function setNextPlane() {
//1000毫秒至2000毫秒之间生成一架飞机
nextPlane.start();
}
public function newPlane(event:TimerEvent) {
// 随机的边、速度和高度
// 生成飞机
var p:Airplane = new Airplane(side,speed,altitude);
// 碰撞检测
}
}
if ((shotsLeft == 0) (bullets.length == 0)) {
endGame();
}
}
// 按下键盘
public function keyDownFunction(event:KeyboardEvent) {
if (event.keyCode == 37) {
leftArrow = true;
} else if (event.keyCode == 39) {
rightArrow = true;
} else if (event.keyCode == 32) {
fireBullet();
}
}
// 释放键盘
public function keyUpFunction(event:KeyboardEvent) {
if (event.keyCode == 37) {
leftArrow = false;
} else if (event.keyCode == 39) {
rightArrow = false;
}
}
// 生成新的子弹
public function fireBullet() {
if (shotsLeft = 0) return;
var b:Bullet = new Bullet(aagun.x,aagun.y,-300);
addChild(b);
bullets.push(b);
shotsLeft--;
showGameScore();
}
public function showGameScore() {
showScore.text = String("得分: "+shotsHit);
showShots.text = String("剩余子弹: "+shotsLeft);
}
// 从数组获取飞机
public function removePlane(plane:Airplane) {
for(var i in airplanes) {
if (airplanes[i] == plane) {
airplanes.splice(i,1);
break;
}
}
}
// 获取数组的一个子弹
public function removeBullet(bullet:Bullet) {
for(var i in bullets) {
if (bullets[i] == bullet) {
bullets.splice(i,1);
break;
}
}
}
// 游戏结束,移除界面上的东西。
public function endGame() {
// 移除飞机
for(var i:int=airplanes.length-1;i=0;i--) {
airplanes[i].deletePlane();
}
airplanes = null;
aagun.deleteGun();
aagun = null;
// 移除侦听器
stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyDownFunction);
stage.removeEventListener(KeyboardEvent.KEY_UP,keyUpFunction);
removeEventListener(Event.ENTER_FRAME,checkForHits);
nextPlane.stop();
nextPlane = null;
gotoAndStop("gameover");
}
}
}
5、编写AAGun.as类
创建类的方法同第3步。首先选中库中的AAGun元件,打开项目面板创建类。在"将类邦定到库元件"前面打勾,点下"使用所选库元件"的单选按钮。图:邦定库元件
AAGun类:邦定库中的炮元件,向左移动向右移动,检测边界,自动消毁。
package {
import flash.display.*;
import flash.events.*;
import flash.utils.getTimer;
public class AAGun extends MovieClip {
static const speed:Number = 150.0;
private var lastTime:int; // 控制移动的Timer
public function AAGun() {
// 枪的初始位置
this.x = 275;
this.y = 340;
//运动
addEventListener(Event.ENTER_FRAME,moveGun);
}
public function moveGun(event:Event) {
// 得到时差
var timePassed:int = getTimer() - lastTime;
lastTime += timePassed;
// 现在的位置
var newx = this.x;
// 移动到左边
if (MovieClip(parent).leftArrow) {
newx -= speed*timePassed / 1000;
}
// 移动到右边
if (MovieClip(parent).rightArrow) {
newx += speed*timePassed / 1000;
}
// 检测边界
if (newx 10) newx = 10;
if (newx 540) newx = 540;
// 更新位置
this.x = newx;
}
// 移除屏幕上的炮和事件
public function deleteGun() {
parent.removeChild(this);
removeEventListener(Event.ENTER_FRAME,moveGun);
}
}
}
新建文件Airplane.as
Airplane类:邦定库中的飞机元件。随机产生飞机,随机的速度,产生5种飞机样式,检测是否飞出边界,检测被子弹击中。自动毁灭和爆炸效果。
// 飞机的速度、方向
// 控制移动的Timer
//左右移动
//检测边界
// 检测碰撞,子弹击中飞机跳转到帧标签"explode"演示爆炸动画。
// 移除舞台上的飞机和事件
新建文件Bullet.as
Bullet类:邦定库中的子弹元件。控制子弹的飞行方向,检测子弹是否飞出屏幕。
package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.utils.getTimer;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class Bullet extends MovieClip {
private var dy:Number; // 子弹的速度、方向。
private var lastTime:int;
public function Bullet(x,y:Number, speed: Number) {
// 初始位置
this.x = x;
this.y = y;
// 得到速度
dy = speed;
// 动画
lastTime = getTimer();
addEventListener(Event.ENTER_FRAME,moveBullet);
public function moveBullet(event:Event) {
// 得到时差
var timePassed:int = getTimer()-lastTime;
lastTime += timePassed;
// 子弹运动
this.y += dy*timePassed/1000;
// 子弹越过屏幕的顶端
if (this.y 0) {
deleteBullet();
// 移除舞台的子弹和事件
public function deleteBullet() {
MovieClip(parent).removeBullet(this);
parent.removeChild(this);
removeEventListener(Event.ENTER_FRAME,moveBullet);
所有的类文件完成保存后,回到AirRaid.fla场景,按Ctrl+Enter组合键测试,看看你的成果吧!
简单的学个Flash,很好学,还可以做动画,很有用。大型游戏要学VB或者C++,编得游戏画质不行。3DMAX是做特效的,你想做个游戏,不是一两年搞得了的,有专门教这个的班。
怎样把flash小游戏的代码找出来?
在有游戏的网页里点IE工具栏的“查看”里面的“文件源”,然后在弹出的笔记本里找到以该网站主页为开头,“SWF”为结尾的FLASH地址,(一些隐藏的FLASH的地址也可以找到,但很多,慢慢找),然后在空间里写日志,在日志里插入FLASH(写日志的工具栏里),把那段找到的地址输入就好了
如果你要放在主页,直接点自义定》新建模块》(调整好大小后)保存就好了
不动的加QQ469456770
1084: 语法错误: rightparen 应在 colon 之前。求大神教下怎么做Flash射击类游戏。
你的两个function 后面都应该有个空格,那是声明函数的。
打出来应该是蓝色字体的,如图这种才不会有语法错误!
请采纳,谢谢~
请高手帮忙解释flash游戏代码 要详细 每一代码一中文
function randRange(minNum:Number, maxNum:Number):Number
//定义函数randRange
{
return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum);
//返回(Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum)计算的数值
}
function updateStats()
//定义updateStats函数
{
old_level = level;
level = Math.floor(score / 100);
//对old_level和level进行赋值
if (level == 10)
{
gotoAndStop(3);
}
//如果level为10的话,则跳转到第三帧停止
if (level != old_level)
{
var shout:MovieClip = _root.attachMovie("level" + (level - old_level), "level", 4500);
shout._x = 350;
shout._y = 350;
}
//如果level不等于old_level的话,在主场景放一个由【level" + (level - old_level)】复制过来的实例,取名shout,并且给与坐标
stats_txt.text = "Score: " + score + " Level: " + level + " Time:" + myTime;
//赋予stats_txt文本内容
}
flash制作FPS射击游戏
给你说下大体过程吧,首先要做自己定义鼠标,就是让鼠标换个形状(最起码看起来像个枪的准星吧...),然后把鼠标系统鼠标隐藏(Mouse.hide()),让自己定义鼠标的影片剪辑开始拖动(startDrag()),准星就这么搞定了。
之后就是做被射击物的影片剪辑(包括运动动画、被击中动画、退场动画)
下面介绍一下这三块动画:
运动动画-即被射击物正常移动时的动画:需要循环播放,即如果是1-20帧为运动动画,则20帧上写代码gotoAndPlay(1)
被击中动画:只播放一次,播放结束的帧上用stop()停止。如被打死则转到退场动画,没被打死则继续播放运动动画,判断死亡方法后边介绍(因为你说要有击倒跟爆头,所以要将被击中动画跟退场动画分开,要是打上就死,那就可以将被击中动画跟退场动画连接在一起了)
退场动画:当然是被打死之后播放的效果。
动画做好之后就开始最关键的代码编写,被射击物出现主要参照下雨效果的雨点做法,主要应用setInterval()+duplicateMovieClip()。复制影片剪辑同时加上onEnterFrame、onRelease事件,并定义一下影片剪辑中的变量做为生命值(如复制出来的影片剪辑为mc1,则定义mc1.health=100),onRelease事件中让生命值变量减一定数量(如mc1.health -= 50),并且让mc1播放被击中动画(gotoAndPlay())。在onEnterFrame事件中判断当前帧数(_currentframe),如果播放到被击中动画结束帧数则判断生命值变量是是否为0,为0则转为播放退场动画开始的帧数(gotoAndPlay()),不为0则继续播放运动动画。若当前帧数为运动动画结束帧数,则删除此影片剪辑(removeMovieClip())退出场景。
大体上是这个样子,说起来容易做起来难,加上慢慢修饰,不是一般地耗功夫。自己慢慢研究...
flah射击游戏源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、flah射击游戏源代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06人脸识别源代码pdf的简单介绍[20240506更新]
- 05-06海淀网站建设公司的简单介绍
- 05-06包含超市管理系统java源代码的词条[20240506更新]
- 05-06商城app源代码免费(商城App源码)[20240506更新]
- 05-06包含游戏源代码不同的模式的词条[20240506更新]
- 05-06matlab写的图象灰度切分源代码(matlab灰度图像分段线性变换)[20240506更新]
- 05-06.net贴吧源代码的简单介绍[20240506更新]
- 05-06疯狂猜图源代码(疯狂猜图素材)[20240506更新]
- 05-06无纸化会议系统源代码(无纸化会议系统介绍)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接