编程射击游戏怎么做手杌版(射击游戏代码编程教学)

http://www.itjxue.com  2023-03-02 19:33  来源:未知  点击次数: 

手机如何自己编程做游戏

如果你有兴趣在android上设计一些游戏,那么我这儿有一些对你有所帮助的东西,我是android Market上一个名为LightRacer的小赛车游戏的开发者,虽然在此之前我也曾开发过游戏,但这仍然是我的第一个android上的应用,在这个过程中我学到了很多在android上开发游戏的经验,并且,我也很乐意将这一切与你分享。好了,让我们开始吧,如果你之前做过游戏的开发,那么转移到android这样的移动平台上并不是件难事,你要做的只是学习一下新的架构与API,如果你是一个新手,我这儿也为你准备了一个入门清单,它适用于任何类型的游戏开发,比如动作类、策略类、模拟类或者智力类。

开启分步阅读模式

操作方法

01

在这门课最后,你会完成一个可以运行在安卓机或者安卓平板上的游戏。你可以与你的家人朋友分享它,用你的新知识进一步改进你的游戏,或者完全自己创造一个游戏。

02

如果你有兴趣在android上设计一些游戏,那么我这儿有一些对你有所帮助的东西,我是android Market上一个名为LightRacer的小赛车游戏的开发者,虽然在此之前我也曾开发过游戏,但这仍然是我的第一个android上的应用,在这个过程中我学到了很多在android上开发游戏的经验,并且,我也很乐意将这一切与你分享。好了,让我们开始吧,如果你之前做过游戏的开发,那么转移到android这样的移动平台上并不是件难事,你要做的只是学习一下新的架构与API,如果你是一个新手,我这儿也为你准备了一个入门清单,它适用于任何类型的游戏开发,比如动作类、策略类、模拟类或者智力类。

03

获取SDK第一步当然是下载并安装android的SDK[软件开发套件],这套SDK主要包括有核心库文件,一个模拟器,开发工具和一些示范的样例文件。我强烈推荐你使用 Eclipse 和 android eclipse 扩展。如果你只是使用android,Eclipse IDE就已经足够了,但如果这是你第一次开发Java应用,建议你还是下载完整的

04

学习应用架构就像迷人的内在美一样,这是理解

android 应用架构的关键,如果你不学习它,你设计出来的游戏将是一种很难修复bug的产品。你需要了解应用程序、活动、Intents以及它们是如何互相联系交互的,Google在这儿提供了良好的信息架构。真正重要的是,你要理解为什么在你设计的游戏中需要不止一个的活动进程以及如何设计一个用户体验良好的游戏。这些都应当配合到应用的生命周期中。

05

学习应用的生命周期应用的生命周期是由AndroidOS操作系统进行管理的,你的活动进程都将做为系统命令进行创建,正确处理这些事件对一个应用程序来说是极为重要的,因为终端用户不会知道什么是正确的。最好在开始设计你的游戏之前搞明白这些,因为这有助于节省你的调试时间以及避免代价高昂的重新设计。

06

对大多数应用而言,默认设置即可开始工作,但对游戏而言,你可能需要调整单态实例的信号为打开。在默认情况下,Android会新建一个活动实例进程,因为它认为这是比较合适的,而游戏,你可能只希望有一个活动的实例进程,这有一点儿影响,它需要你了解一些系统状态的管理,但对我来说,它解决了资源管理的问题,还是值得的。

07

主循环是否需要一个主循环是根据你写的游戏类型而决定的,如果你写的游戏没有时间依赖性或者只是响应用户的输入而没有其它的视觉变化,你可能并不需要一个主循环。如果你设计的是一个平面的动作游戏或者动画游戏,计时游戏或者其实类型的自动游戏,你就应该认真考虑使用主循环。

scratch射击游戏怎么制作?

另一问题也可参照此题答案~

主要方法:

1.需要很多张连环图片,创建一个角色,造型按照图片顺序一一排列,为好换造型,建议将名字依次命名~如(123...)。

2.开始时换成固定造型,按下a(左转键)时,上/下一个造型,右转时,与左传相反换造型(不会换造型的新手,可以这样设置:重复执行将造型换为我的变量,如果上一个造型就将变量减一如果下一个造型就将变量加一)。

~像了吗?

注意图片要多因为人物旋转360度,地图就要不停的换造型(地图也就是背景最好将它设为角色,而不是背景。否则将无法把地图放大到超出屏幕,就会出现有白色缝隙的状况,并且背景无法移动)

3.旋转做好了就要做人物,建立另一个变量,命名为人物角度,开始时初始化将它设为一个数字,最好是0,当向左加变量,向右减少变量。或者向右增加变量,向左减少变量。

4.当变量等于一定程度时(也就是相当于面向角色是时)显示对方角色,移到指定位置,这个位置要通过计算,就是和变量做计算,老司机这一步应该会自己做。

5.敌人越近越大,敌人越远越小,敌人的中心点最好将脚移到中心点,这个不是新手应该都会吧,就是在造型里面。

6.开火时可以就用此软件的画图画出一团不太像的火焰,或者用电脑专业ps软件,或者在网上搜火焰效果,选逼真的装在墙上开火时显示,不开火隐藏。

7.缩量时可以用变量的话肝功能也可以用专业一点的血量条,做一个角色。从血量少到血多按数字的顺序排列,刚开始换成满血状态,如果被打就减少变量。当然熟悉scratch的人,可以直接将造型化为倒序并增加。

做设计游戏是比较难的要多少个人物设置克隆体并且还有枪械配备等这些就自己做了。毕竟有一些scratch知识的人,都会做了。

~用scratch做基础的射击游戏就是以上步骤了。如果不像,可以将背景图片的间隔再小一点速度增加一点等方法。

自己做一做试一试吧!

手机怎么编程游戏

首先我们进入手机游戏版首先,我们使用手指打开设置找到代码之后滑动屏幕的悬浮球即可使用代码

如何制作简单的射击类(比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是做特效的,你想做个游戏,不是一两年搞得了的,有专门教这个的班。

探月校园版编程怎么做射击游戏

探月校园版编程使用python语言做射击游戏,因为python语言可以通过排序指令,安排机器人的行进步骤,设定前进、转弯、跳跃、点亮这些动作,并利用循环达成目标完成游戏设计任务。所以探月校园版编程可以使用python语言做射击游戏。

源码编辑器怎么做枪战游戏

1、下载和安装python这里使用的是python3,然后编辑器使用的是pycharm。

2、安装pygame包,基于pygame包去开发。

3、基本上这个游戏的框架如下的思维导图,主函数中主要是初始化屏幕和更新图像,然后有定义了很多类,玩家飞船的Ship类。

(责任编辑:IT教学网)

更多