Ir para o conteúdo
GabrielBR

AJUDA - Game em Action Script 3.0

Mensagens Recomendadas

GabrielBR

Bom dia pessoal, tudo bem ?

Sou novo por aqui, e sou novo também na jornada de criação de games

Gostaria que vocês me ajudassem pois estou com um problema... estou estudando sozinho e não consigo arrumar o meu jogo

é um jogo de nave feito em FLASH CC, porem as naves não descem e quando atira, os tiros não destroem a nave

CONTROLE DO JOGO:

Movimentação: SETAS DIRECIONAIS

TIRO = BARRA DE ESPAÇO

VOU COLOCAR O LINK DO DOWNLOAD DO JOGO

http://www.4shared.com/rar/_s5Y2MySce/jogo.html

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
GabrielBR

Vou postar os codigos e as classes para voces entao...

import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.MouseEvent;
import inimigos.inimigoClass;

//ACHA O CÓDIGO DA TECLA DO TECLADO
stage.addEventListener(KeyboardEvent.KEY_DOWN, achaTecla);
function achaTecla(event:KeyboardEvent):void{
trace("O código da tecla é: ", event.keyCode);
}

//VARIAVEIS GLOBAIS
var velocidade:Number = 5;
var direita:Boolean = false;
var esquerda:Boolean = false;
var cima:Boolean = false;
var baixo:Boolean = false;
var espaco:Boolean = false;
var checarTecla:Boolean = false;
var nave:MovieClip = new naveClass();
var atirar:Sprite = new Sprite;
var tempoTiro:Timer = new Timer(300,1);
var podeAtirar:Boolean = true;
var tempoNave:Timer = new Timer (1500);

//ADICIONANDO NAVE NO PALCO
nave.x = stage.stageWidth / 2;
nave.y = stage.stageHeight-100;
addChild(nave);
addChild(atirar);

//OUVINTES
stage.addEventListener(KeyboardEvent.KEY_DOWN, teclaPress);
stage.addEventListener(KeyboardEvent.KEY_UP, teclaSolta);
stage.addEventListener(Event.ENTER_FRAME, moveNave);
tempoTiro.addEventListener(TimerEvent.TIMER, controlaTempo);
tempoNave.addEventListener(TimerEvent.TIMER, criaInimigo);

//FUNCAO TECLA SOLTA
function teclaPress(event:KeyboardEvent):void{
if (event.keyCode == 37){
	esquerda = true;
}else if (event.keyCode == 38){
	cima = true;
}else if (event.keyCode == 39){
	direita = true;
}else if (event.keyCode == 40){
	baixo = true;
}else if(event.keyCode == 32){
	espaco = true;
}
}


//FUNCAO TECLA PRESSIONADA
function teclaSolta(event:KeyboardEvent):void{
if (event.keyCode == 37){
	esquerda = false;
}else if (event.keyCode == 38){
	cima = false;
}else if (event.keyCode == 39){
	direita = false;
}else if (event.keyCode == 40){
	baixo = false;
}else if (event.keyCode == 32){
	espaco = false;
}
}

//FUNCAO MOVE NAVE
function moveNave (event:Event):void{
if (esquerda == true){
	nave.x += -velocidade;
}else if (direita == true){
	nave.x -= -velocidade;
}else if (cima == true){
	nave.y += -velocidade;
}else if (baixo == true){
	nave.y -= -velocidade;
}
if (espaco == true && podeAtirar == true){
	var tiro:Sprite = new tiroClass();
	tiro.x = nave.x;
	tiro.y = nave.y;
	atirar.addChild(tiro);
	podeAtirar = false
	tempoTiro.start ();
}
}

//Função que controla o tempo do tiro
function controlaTempo(event:TimerEvent):void{
podeAtirar = true;
}

tempoNave.start();
function criaInimigo(event:Event){
var novoInimigo:Sprite = new inimigoClass();
novoInimigo.x = Math.random() * stage.stageWidth;
addChild(novoInimigo);
}

CLASSE INIMIGOS

package inimigos{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;

public class inimigoClass extends Sprite{
private var nucleo:Object;
private var vely:Number = 2;

public function inimigoClass() {
	// constructor code
	addEventListener(Event.ADDED_TO_STAGE, quandoAdicionado);
}

private function quandoAdicionado(event:Event){
	nucleo = MovieClip(root);
	addEventListener(Event.ENTER_FRAME, recarregar);
}

private function recarregar (event:Event){
	y -= vely;
	for (var i:int = 0; i < nucleo.atirar.numChildren; i++)
		var atingido:Sprite = nucleo.atirar.getChildAt(i);

	if (hitTestObject(atingido)){
		nucleo.atirar.getChildAt(i).removeListener();
		nucleo.atirar.removeChild(atingido);

		removeEventListener(Event.ENTER_FRAME, recarregar);
		nucleo.removeChild(this);
		}
   }

 public function removeListener ():void{
	 removeEventListener(Event.ENTER_FRAME, recarregar);
}
}

CLASSE TIRO


package  {

import flash.events.Event;
import flash.display.Sprite;

public class tiroClass extends Sprite {

	//Variável globais da classe
	private var larguraTela:Number;
	private var alturaTela:Number;
	private var direcao:int = 10;
	private var foraTela:int = -10;

	//Funcao construtora da classe
	public function tiroClass():void {
		// constructor code
		addEventListener(Event.ADDED_TO_STAGE, quandoAdicionado);
	}

	//Função que verifica quando objeto está adicionado na tela
	private function quandoAdicionado (event:Event):void{
		larguraTela = stage.stageWidth;
		alturaTela = stage.stageHeight;
		addEventListener(Event.ENTER_FRAME, recarregar);
	}

	//Função que recarrega o tiro
	private function recarregar (event:Event):void{
			if (y < foraTela){
					removeEventListener(Event.ENTER_FRAME, recarregar);
					parent.removeChild (this);
			}
			y -= direcao;
	}

	public function removeListeners():void{
			removeEventListener(Event.ENTER_FRAME, recarregar);
	}
}

Editado por coxosclassic
code cleanup

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.