导航:首页 > 编程语言 > 游戏飞机代码编程教学

游戏飞机代码编程教学

发布时间:2022-08-02 19:34:53

‘壹’ 用flash画一个飞机,求编写控制飞机的上下左右以及飞机发射子弹的脚本代码

游戏开发应该使用Unity3d,不应该是Flash。
参考网上的Unity3d游戏开发教程,跟着学,跟着做,相信任何人都能成功的。

‘贰’ FLASH as3制作飞机游戏教程

用纯as3脚本实现飞机类型游戏
当游戏结束时点击左上角xxms重新开始游戏,有2个类,一个是自己,一个是敌人。自己类取名Ball1.as:

package {//ball1类是玩家操作的ball
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
public class Ball1 extends Sprite {
public var lable:TextField=new TextField();
public var speed:int=60;
public var stage1:Stage;
public var ballList:Array=new Array();
public var timer:Timer=new Timer(1);
public function Ball1(stage1:Stage) {
this.stage1=stage1;
init();
}
public function init():void {//初始化
stage1.addChild(lable);
graphics.lineStyle(1,0);
graphics.drawCircle(0,0,10);
x=stage1.stageWidth/2;
y=stage1.stageHeight/2;
stage1.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);
stage1.addEventListener(Event.ENTER_FRAME,enterFrameHandler2);
timer.start();
timer.addEventListener(TimerEvent.TIMER, timerHandler);
}
public function timerHandler(e:TimerEvent):void{
lable.text=""+e.target.currentCount+"ms";
}
public function mouseDownHandler(e:Event):void {
stage1.addEventListener(Event.ENTER_FRAME,enterFrameHandler1);
stage1.addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);
}
public function mouseUpHandler(e:Event):void {
stage1.removeEventListener(Event.ENTER_FRAME,enterFrameHandler1);
stage1.removeEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);
}
public function enterFrameHandler1(e:Event) {//控制ball的运动
var speedX:int=speed*(stage1.mouseX-x)/Math.sqrt((stage1.mouseY-y)*(stage1.mouseY-y)+(stage1.mouseX-x)*(stage1.mouseX-x));
var speedY:int=speed*(stage1.mouseY-y)/Math.sqrt((stage1.mouseY-y)*(stage1.mouseY-y)+(stage1.mouseX-x)*(stage1.mouseX-x));
var x1:int;
var y1:int;
if (Math.abs(speedX)<Math.abs(stage1.mouseX-x)) {
x1=x+speedX;
} else {
x1=stage1.mouseX;
}
if (Math.abs(speedY)<Math.abs(stage1.mouseY-y)) {
y1=y+speedY;
} else {
y1=stage1.mouseY;
}
if (x1<0) {
x=0;
} else if (x1>stage.stageWidth) {
x=stage.stageWidth;
} else {
x=x1;
}
if (y1<0) {
y=0;
} else if (y1>stage.stageHeight) {
y=stage.stageHeight;
} else {
y=y1;
}
}
public function enterFrameHandler2(e:Event):void {//判断游戏是否结束
for (var i:int; i<ballList.length; i++) {
if (Math.sqrt((x-ballList.x)*(x-ballList.x)+(y-ballList.y)*(y-ballList.y))<15) {
timer.reset();
for (var j:int; j<ballList.length; j++) {
ballList[j].stopRun();
}
lable.addEventListener(MouseEvent.CLICK,clickHandler);
break;
}
}
}
public function clickHandler(e:MouseEvent):void {//控制游戏开始
for (var j:int; j<ballList.length; j++) {
ballList[j].initXy();
ballList[j].startRun();
}
lable.text="";
x=stage1.stageWidth/2;
y=stage1.stageHeight/2;
timer.start();
lable.removeEventListener(MouseEvent.CLICK,clickHandler);
}
}
}
敌人类Ball2.as:

package {//ball2类,可以用作敌人的子弹
import flash.display.*;
import flash.events.*;
public class Ball2 extends Sprite {
public var ball1:Sprite;
public var speed:int=30;
public var speedX:int=0;
public var speedY:int=0;
public function Ball2(ball1:Sprite) {
this.ball1=ball1;
init();
initXy();
startRun();
}
public function init():void {//初始化
graphics.lineStyle(1,0);
graphics.drawCircle(0,0,5);
}
public function enterFrameHandler(e:Event){//控制子弹的运动
if(Math.random()<0.1){
var d:int=Math.sqrt((ball1.x-x)*(ball1.x-x)+(ball1.y-y)*(ball1.y-y));
if(d==0){d=1};
speedX=speed*(ball1.x-x)/d;
speedY=speed*(ball1.y-y)/d;
}
x+=speedX;
y+=speedY;
}
public function startRun(){
this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
}
public function stopRun(){
this.removeEventListener(Event.ENTER_FRAME,enterFrameHandler);
}
public function initXy():void {//初始化子弹开始的位置
var xy:Number=Math.random();
if (xy<0.25) {
x=xy*550*4;
y=-10;
} else if (xy<0.5) {
x=560;
y=(xy-0.25)*400*4;
} else if (xy<0.75) {
x=(xy-0.5)*550*4;
y=410;
} else {
x=-10;
y=(xy-0.75)*400*4;
}
}
}
}

然后用一个fla文件把2个类初始化:

import flash.text.*;
import flash.net.*;
var ball:Ball1=new Ball1(stage);//定义ball1
var ballList:Array=new Array();//定义balllist数组
for (var i:int=0; i<20; i++) {//实例化balllist
ballList.push(new Ball2(ball));
addChild(ballList);
ball.ballList=ballList;
}
addChild(ball);
var lable:TextField=new TextField();
lable.text="sliz";
lable.x=530;
lable.y=380;
addChild(lable);
lable.addEventListener( MouseEvent.CLICK , clickHandler );
function clickHandler( event:MouseEvent ):void {
navigateToURL( new URLRequest ("http://space.flash8.net/space/?534614" ) );
}
//复制了两份,你一份我一份,我也在学

‘叁’ 如何使用源码熊制作飞机大战

您好,飞机大战是一个比较简单的游戏。
进入源码熊编程平台后,为我们的飞机大战游戏选择一个太空背景,一个飞机造型,一个炮弹造型,一个敌人造型。
先为我们的飞机设定代码,当小旗子被点击后,重复执行把x坐标移动到鼠标位置,y坐标固定在屏幕底部,这样我们的飞机就可以跟随我们的鼠标移动了。
现在为我们的炮弹设定轨迹,当小旗子被点击后,移动到飞机的位置,并重复执行将y坐标增加50,如果碰触到舞台边缘,那么移动到飞机的位置。现在我们点击小旗子,就可以控制飞机不停发射炮弹了。
最后为敌方怪物设定规则,当小旗子被点击后,移动到屏幕顶部的固定位置,并重复执行如果碰触到舞台边缘,那么移动到屏幕顶部的固定位置,如果碰触到炮弹,那么隐藏,如果碰触到飞机,那么停止所有脚本。这样如果我们炮弹打到怪物,怪物就会消失,如果怪物碰到我们的飞机,则游戏结束。
现在一个简单的飞机大战小游戏就制作好啦!

‘肆’ 一个简单的小游戏--打飞机。求一些方法。我会点C++,用java也行。

这个貌似没什么难度。。。我自己写了一个
打砖块
的东西。。和这个差不多了。。
发你QQ
里边
,你看看。。呵呵。。。、期待交流!
QQ:279794658

‘伍’ 飞机的C语言程序代码

我有坦克的

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define LENTH 7
#define WIDTH 155

#define SLEEP_TIME 30000
#define ENTER_NUM 20

char fun_ascii[LENTH][WIDTH] = {
" | ",
" _\\--__|_ ",
" II=======OOOOO[/ *02 ___| ",
" ____\\______|/-----.",
" /____________________|",
" \\@@@@@@@@@@@@@@@@@@@/ ",
" ~~~~~~~~~~~~~~~~~~~ "
};

int g_shoot_pos;
int g_shoot_pos_static;

void display_ascii(void);
void print_enter(void);

void move_ascii(void)
{
int i, j;

for (i = 0; i < LENTH; i++) {
for (j = 0; j < WIDTH; j++) {
if (fun_ascii[i][j] != ' ') {
fun_ascii[i][j - 1] = fun_ascii[i][j];
fun_ascii[i][j] = ' ';
}
}
}
}

void shoot_init(void)
{
int i, j;

for (j = 0; j < WIDTH; j++) {
if (fun_ascii[2][j] != ' ')
break;
}
--j;

g_shoot_pos_static = g_shoot_pos = j;
}

void shoot_begin(void)
{
fun_ascii[2][g_shoot_pos] = 'O';

system("clear");
print_enter();
display_ascii();
fun_ascii[2][g_shoot_pos] = ' ';
}

void shoot_ascii(void)
{
int i;

i = WIDTH / 2 - 1;

while (i > 0 && g_shoot_pos > 0) {
shoot_begin();
g_shoot_pos--;
usleep(SLEEP_TIME);
i--;
}
}

void do_shoot_ascii(void)
{
int i = 3;

shoot_init();

while (i > 0) {
shoot_ascii();
g_shoot_pos = g_shoot_pos_static;
i--;
}
}

void display_ascii(void)
{
int i, j;

for (i = 0; i < LENTH; i++) {
for (j = 0; j < WIDTH; j++)
printf("%c", fun_ascii[i][j]);
printf("\n");
}
}

void print_enter(void)
{
int i;

for (i = 0; i < ENTER_NUM; i++)
printf("\n");
}

int main(void)
{
int i = WIDTH;

while (i > 0) {
if (i == (WIDTH / 2)) {
do_shoot_ascii();
i--;
continue;
}
system("clear");
print_enter();
move_ascii();
display_ascii();
i--;
usleep(SLEEP_TIME);
}

return 0;
}

‘陆’ C语言代码求解释,飞机小游戏

前两层相当于扫描整个画布。第三层相当于便利所有的敌机,判断位置是否和子弹位置相同。

‘柒’ scratch怎么做飞机大战

scratch怎么做飞机大战?今天我们就来编写一个好玩的游戏,想必大家都玩过QQ游戏里的雷电,或者手机游戏里的雷霆战机或者全民飞机大战...没错,今天我们要做的游戏就是——飞机大战!


我们的游戏规则是:利用键盘的左右键控制飞机的左右移动,子弹会不断地从飞机中发射出来,子弹碰到敌军飞机便爆炸,我们的飞机一旦碰到敌军飞机游戏便结束;下面就跟着我一起做游戏吧!

第一步:创建背景和角色


第二步:利用左右键控制飞机左右移动

相信跟着我学到现在,这一步对大家来说相当简单了,我们的逻辑是,如果按下左移键,那么面向左边移动10步,如果按下右移键,那么面向右边移动10步


第三步:现在我们让飞机发射子弹,在子弹的脚本中进行编写,由于子弹是从飞机中发射的,所以我们要让子弹移到飞机的地方,不断地发射自己,也就是不断地克隆自己,然后向上移动,也就是增加Y坐标,直到碰到上边缘,便删除克隆体。


第四步:做完飞机发射子弹的功能,下面便是如果子弹碰到敌机,那么实现子弹爆炸的功能,在这里我们的子弹有12种造型:


如果子弹克隆体碰到敌机,那么便完成子弹的11个造型,最后删除克隆体。


第五步:现在我们要让敌机从上朝下运动,同样运用到了克隆,当我们点击开始时,让敌机在随机地时间里克隆自己,在这里我们用到了重复执行计时器/10次。

小朋友们想想这段代码代表什么意思呢?

聪明的小朋友一定看出来了,这段代码其实是在增加我们的游戏难度,当计时器的值越大,克隆的敌机就越多。


第六步:当敌机作为克隆体启动时,让其移动到随机位置向下运动,当运动到下边缘便删除克隆体,那么随机位置是改变的X坐标还是Y坐标呢?当然是X坐标啦,向下运动便是让Y坐标减少

第七步:最后增加游戏的判断条件,如果敌机碰到子弹,那么敌机消失;如果敌机碰到飞机,那么游戏结束,切换GANE OVER背景。


做到这里我们的游戏就完美地完成了,这里大家可以拓展一下,给游戏增加一个记分的功能,统计小朋友一共摧毁了多少架敌机,比比谁摧毁的敌军最多~

‘捌’ 怎样用java语言编写一个飞机游戏

这么专业的东西我不太会,虽然我过去也学过

建议你到比较专业一点的BBS走走

比如“程序员之家”等等

(这里的人多数都是复制答案的。。。)

‘玖’ 请教:怎么做炸飞机游戏(c/c++工具)给出具体解决思路和代码实现!有重谢!!!

直接用二维数组,记录田字格。值0为空、1为有飞机、2为飞机被炸、3为炸空
1、初始化,读取飞机数,随机置1
2、根据输入的坐标,直接将该坐标从0->3或1->2,然后做其他逻辑处理

阅读全文

与游戏飞机代码编程教学相关的资料

热点内容
php开发客户端 浏览:998
theisle测试服怎么搜服务器 浏览:447
广播PDF 浏览:218
单片机编程300例汇编百度 浏览:35
腾讯云连接不上服务器 浏览:223
不能用来表示算法的是 浏览:861
6轴机器人算法 浏览:890
手机主题照片在哪个文件夹 浏览:294
安卓手机后期用什么软件调色 浏览:628
cad修改快捷键的命令 浏览:242
好钱包app怎么登录不了 浏览:859
树莓派都用python不用c 浏览:757
access文件夹树的构造 浏览:662
安卓多指操作怎么设置 浏览:658
linux树形目录 浏览:727
平方根的简单算法 浏览:898
千牛订单页面信息加密取消 浏览:558
单片机自制红外遥控灯 浏览:719
服务器最小配置怎么弄 浏览:853
ibm服务器硬件如何升级 浏览:923