Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

Olá caros colegas,tenho de fazer um pequeno jogo onde tenho de fazer apenas um carrinho andar.

Como tal tenho de fazer uma classe com o nome carro.as mas não estou conseguindo,alguem me pode ajudar por favor?

 

o codigo que ja fiz é o seguinte:

 

package {

	import flash.display.*;
	import flash.net.URLRequest;
	import flash.events.*;

	public class Carro extends Sprite  {
		
		public function Carro():void
		{

			}
			
		Public var incrementa:Number = 0;
		Public var rotacao_carro:Number = carroMC.rotation;
		Public var posNeg:Number = 1;
		Public var aceleracao:Number = .05;
		Public var velocidade:Number = 0;
		Public var maxvelocidade:Number = 50;
		Public var carro:Sprite = new Sprite();

		
		Public var keyLeftPressed:Boolean;
		Public var keyRightPressed:Boolean;
		Public var keyUpPressed:Boolean;
		Public var spaceBarPressed:Boolean;

		addEventListener(Event.ENTER_FRAME,onEnterFrameFunction);
		stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);
		stage.addEventListener(KeyboardEvent.KEY_UP,keyReleased);
		


		public function onEnterFrameFunction(event:Event) {
			
			carro=carroMC;
			velocidade = Math.round((incrementa)*5);
			velocidadetxt.text = String(velocidade);

			if ((carroMC.rotation < 180)&&(carroMC.rotation >= 0)) {
				rotacao_carro = carroMC.rotation;
				posNeg = 1;
			}
			if ((carroMC.rotation < 0)&&(carroMC.rotation > -180)) {
				rotacao_carro = -1 * carroMC.rotation;
				posNeg = -1;
			}
			
			if (keyRightPressed) {
				carroMC.rotation += .5*incrementa;
				carroMC.gotoAndStop(3);
			}
			
			if (keyLeftPressed) {
				carroMC.rotation -= .5*incrementa;
				carroMC.gotoAndStop(2);
			}
			
			if (!keyLeftPressed && !keyRightPressed) {
				carroMC.gotoAndStop(1);
			}
			
			if (keyUpPressed) {
				carroMC.y -= ((90-rotacao_carro)/90)*incrementa;

				if (((carroMC.rotation > 90)&&(carroMC.rotation < 180))||((carroMC.rotation < -90)&&(carroMC.rotation > -180))) {
					carroMC.x += posNeg * (((((1-(rotacao_carro/360))*360)-180)/90)*incrementa);
				}
				if (((carroMC.rotation <= 90)&&(carroMC.rotation > 0))||((carroMC.rotation >= -90)&&(carroMC.rotation < -1))) {
					carroMC.x += posNeg * ((rotacao_carro)/90)*incrementa;
				}
				if (spaceBarPressed) {
					incrementa -= .5*aceleracao;
				}
				if (!spaceBarPressed && velocidade < maxvelocidade) {
					incrementa += aceleracao;
				}
			} else {
				if (incrementa > 0 && spaceBarPressed) {
					carroMC.y -= ((90-rotacao_carro)/90)*incrementa;

					if (((carroMC.rotation > 90)&&(carroMC.rotation < 180))||((carroMC.rotation < -90)&&(carroMC.rotation > -180))) {
						carroMC.x += posNeg * (((((1-(rotacao_carro/360))*360)-180)/90)*incrementa);
					}
					if (((carroMC.rotation <= 90)&&(carroMC.rotation > 0))||((carroMC.rotation >= -90)&&(carroMC.rotation < -1))) {
						carroMC.x += posNeg * ((rotacao_carro)/90)*incrementa;
					}
					incrementa -= 4*aceleracao;
				} else if (incrementa > 0) {
					carroMC.y -= ((90-rotacao_carro)/90)*incrementa;

					if (((carroMC.rotation > 90)&&(carroMC.rotation < 180))||((carroMC.rotation < -90)&&(carroMC.rotation > -180))) {
						carroMC.x += posNeg * (((((1-(rotacao_carro/360))*360)-180)/90)*incrementa);
					}
					if (((carroMC.rotation <= 90)&&(carroMC.rotation > 0))||((carroMC.rotation >= -90)&&(carroMC.rotation < -1))) {
						carroMC.x += posNeg * ((rotacao_carro)/90)*incrementa;
					}
					incrementa -= 1.5*aceleracao;
				} else {
					incrementa = 0;
				}
			}
		}

		public function keyPressed(event:KeyboardEvent) {
			if (event.keyCode == Keyboard.LEFT) {
				keyLeftPressed = true;
			}
			if (event.keyCode == Keyboard.RIGHT) {
				keyRightPressed = true;
			}
			if (event.keyCode == Keyboard.UP) {
				keyUpPressed = true;
			}
			if (event.keyCode == Keyboard.SPACE) {
				spaceBarPressed = true;
			}
		}

		public function keyReleased(event:KeyboardEvent) {
			if (event.keyCode == Keyboard.LEFT) {
				keyLeftPressed = false;
			}
			if (event.keyCode == Keyboard.RIGHT) {
				keyRightPressed = false;
			}
			if (event.keyCode == Keyboard.UP) {
				keyUpPressed = false;
			}
			if (event.keyCode == Keyboard.SPACE) {
				spaceBarPressed = false;
			}
		}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer ajuda em que? Porque parar pra ler esse código todo não dá, seja específico.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer ajuda em que? Porque parar pra ler esse código todo não dá, seja específico.

Abs

 

 

 

Quero saber se o class esta bem construida,se é aaasim que se constroi uma class.

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah só quer saber isso... beleza

 

package {

        import flash.display.*;
        import flash.net.URLRequest;
        import flash.events.*;

        public class Carro extends Sprite  {

                Public var incrementa:Number = 0;
                Public var rotacao_carro:Number = carroMC.rotation;
                Public var posNeg:Number = 1;
                Public var aceleracao:Number = .05;
                Public var velocidade:Number = 0;
                Public var maxvelocidade:Number = 50;
                Public var carro:Sprite = new Sprite();

                
                Public var keyLeftPressed:Boolean;
                Public var keyRightPressed:Boolean;
                Public var keyUpPressed:Boolean;
                Public var spaceBarPressed:Boolean;

                addEventListener(Event.ENTER_FRAME,onEnterFrameFunction);
                stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);
                stage.addEventListener(KeyboardEvent.KEY_UP,keyReleased);
                public function Carro():void
                {

                        }
                        
               
                public function onEnterFrameFunction(event:Event) {
                        
                        carro=carroMC;
                        velocidade = Math.round((incrementa)*5);
                        velocidadetxt.text = String(velocidade);

                        if ((carroMC.rotation < 180)&&(carroMC.rotation >= 0)) {
                                rotacao_carro = carroMC.rotation;
                                posNeg = 1;
                        }
                        if ((carroMC.rotation < 0)&&(carroMC.rotation > -180)) {
                                rotacao_carro = -1 * carroMC.rotation;
                                posNeg = -1;
                        }
                        
                        if (keyRightPressed) {
                                carroMC.rotation += .5*incrementa;
                                carroMC.gotoAndStop(3);
                        }
                        
                        if (keyLeftPressed) {
                                carroMC.rotation -= .5*incrementa;
                                carroMC.gotoAndStop(2);
                        }
                        
                        if (!keyLeftPressed && !keyRightPressed) {
                                carroMC.gotoAndStop(1);
                        }
                        
                        if (keyUpPressed) {
                                carroMC.y -= ((90-rotacao_carro)/90)*incrementa;

                                if (((carroMC.rotation > 90)&&(carroMC.rotation < 180))||((carroMC.rotation < -90)&&(carroMC.rotation > -180))) {
                                        carroMC.x += posNeg * (((((1-(rotacao_carro/360))*360)-180)/90)*incrementa);
                                }
                                if (((carroMC.rotation <= 90)&&(carroMC.rotation > 0))||((carroMC.rotation >= -90)&&(carroMC.rotation < -1))) {
                                        carroMC.x += posNeg * ((rotacao_carro)/90)*incrementa;
                                }
                                if (spaceBarPressed) {
                                        incrementa -= .5*aceleracao;
                                }
                                if (!spaceBarPressed && velocidade < maxvelocidade) {
                                        incrementa += aceleracao;
                                }
                        } else {
                                if (incrementa > 0 && spaceBarPressed) {
                                        carroMC.y -= ((90-rotacao_carro)/90)*incrementa;

                                        if (((carroMC.rotation > 90)&&(carroMC.rotation < 180))||((carroMC.rotation < -90)&&(carroMC.rotation > -180))) {
                                                carroMC.x += posNeg * (((((1-(rotacao_carro/360))*360)-180)/90)*incrementa);
                                        }
                                        if (((carroMC.rotation <= 90)&&(carroMC.rotation > 0))||((carroMC.rotation >= -90)&&(carroMC.rotation < -1))) {
                                                carroMC.x += posNeg * ((rotacao_carro)/90)*incrementa;
                                        }
                                        incrementa -= 4*aceleracao;
                                } else if (incrementa > 0) {
                                        carroMC.y -= ((90-rotacao_carro)/90)*incrementa;

                                        if (((carroMC.rotation > 90)&&(carroMC.rotation < 180))||((carroMC.rotation < -90)&&(carroMC.rotation > -180))) {
                                                carroMC.x += posNeg * (((((1-(rotacao_carro/360))*360)-180)/90)*incrementa);
                                        }
                                        if (((carroMC.rotation <= 90)&&(carroMC.rotation > 0))||((carroMC.rotation >= -90)&&(carroMC.rotation < -1))) {
                                                carroMC.x += posNeg * ((rotacao_carro)/90)*incrementa;
                                        }
                                        incrementa -= 1.5*aceleracao;
                                } else {
                                        incrementa = 0;
                                }
                        }
                }

                public function keyPressed(event:KeyboardEvent) {
                        if (event.keyCode == Keyboard.LEFT) {
                                keyLeftPressed = true;
                        }
                        if (event.keyCode == Keyboard.RIGHT) {
                                keyRightPressed = true;
                        }
                        if (event.keyCode == Keyboard.UP) {
                                keyUpPressed = true;
                        }
                        if (event.keyCode == Keyboard.SPACE) {
                                spaceBarPressed = true;
                        }
                }

                public function keyReleased(event:KeyboardEvent) {
                        if (event.keyCode == Keyboard.LEFT) {
                                keyLeftPressed = false;
                        }
                        if (event.keyCode == Keyboard.RIGHT) {
                                keyRightPressed = false;
                        }
                        if (event.keyCode == Keyboard.UP) {
                                keyUpPressed = false;
                        }
                        if (event.keyCode == Keyboard.SPACE) {
                                spaceBarPressed = false;
                        }
                }
        }
}

 

A única coisa que ainda precisa consertar seria a questão do seu construtor, o que você quer inicializar assim que começa o jogo, deve estar la dentro, ou seja quando você criar um objeto dessa classe alguns atributos precisam ser inicializados nesse momento.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo se eu crio uma classe pessoa, e essa pessoa tem como atributo o nome por exemplo, eu posso ao criar minha classe ja inicializar o nome desse objeto pessoa.Para isso usa-se o construtor


public class Pessoa{
var nome:String;

public function Pessoa(novoNome:String){
nome = novoNome;
}
}

Ai na hora de criar o objeto de sua classe você usa o parametro no seu construtor

var Pessoa1:Pessoa = new Pessoa("kisuke");

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.