TS91 Posted May 12, 2009 at 10:44 AM Report #263317 Posted May 12, 2009 at 10:44 AM Boas, eu tou a fazer um jogo de naves tipo Invasores, mas nao consigo fazer disparar as balas. Alguem pode me ajudar? Cumpz
zubimaster Posted May 12, 2009 at 11:50 AM Report #263348 Posted May 12, 2009 at 11:50 AM Qual a parte que não consegues fazer? Das fisicas? tipo velocidade da bala? Cumps
TS91 Posted May 13, 2009 at 01:30 PM Author Report #263815 Posted May 13, 2009 at 01:30 PM mesmo tudo
pouic Posted May 13, 2009 at 01:52 PM Report #263826 Posted May 13, 2009 at 01:52 PM Mas o teu jogo é tipo "galaxy" ? Onde tens a tua nave em baixo e disparas para os objectos?
pouic Posted May 13, 2009 at 02:40 PM Report #263849 Posted May 13, 2009 at 02:40 PM Mas em que parte vais? Estas a começar do ZERO?
TS91 Posted May 13, 2009 at 03:08 PM Author Report #263853 Posted May 13, 2009 at 03:08 PM Tou a fazer disparar a bala. Ja tenho a nave a andar e os limites controlados.
scorch Posted May 13, 2009 at 03:32 PM Report #263855 Posted May 13, 2009 at 03:32 PM Então basta veres qual a posição da arma da nave. Depois crias um laser a sair a partir dessa localização. Em Flash dá para criar bitmaps ou algo do género. PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.
TS91 Posted May 13, 2009 at 03:43 PM Author Report #263860 Posted May 13, 2009 at 03:43 PM o problema é que eu nao consigo fazer o laser crescer
pouic Posted May 13, 2009 at 03:49 PM Report #263866 Posted May 13, 2009 at 03:49 PM Vamos por partes... Primeira fase disparar objectos a partir do centro da tua nave... saber quantos tiros disparou. import mx.transitions.Tween; import mx.transitions.easing.*; var vSpeed:Number = 10; //Velocidade do tiro var numTiros:Number = 0;//Numero de tiros disparados //Criar o objecto NAVE createEmptyMovieClip("mcNave",this.getNextHighestDepth()); mcNave.beginFill(0x000000, 100); mcNave.lineTo(5, 0); mcNave.lineTo(5, 5); mcNave.lineTo(0, 5); mcNave.lineTo(0, 0); mcNave.endFill(); //Definir o tamanho da nave mcNave._width = 100; mcNave._height = 30; //Posicionar a nave mcNave._x = (Stage.width/2)- (mcNave._width/2) mcNave._y = (Stage.height - (mcNave._height/2)) //Criar o objecto que será o tiro createEmptyMovieClip("mcTiro",this.getNextHighestDepth()); mcTiro.beginFill(0x000000, 100); mcTiro.lineTo(5, 0); mcTiro.lineTo(5, 5); mcTiro.lineTo(0, 5); mcTiro.lineTo(0, 0); mcTiro.endFill(); //Posicionar o tiro mcTiro._x = -20; mcTiro._y = -40; this.onEnterFrame = function(){ //Função será sempre executada frame by frame if (Key.isDown(Key.LEFT)) { //Quando pressionada a tecla <- (seta Esquerda) move a nave para a esquerda mcNave._x -= vSpeed } if (Key.isDown(Key.RIGHT)) { //Quando pressionada a tecla -> (seta Direita) move a nave para a direita mcNave._x += vSpeed } if (Key.isDown(Key.SPACE)) { //Quando pressionada a tecla SPACE dispara tiros //Incrementar o número de tiros disparados numTiros++; //Criar o objecto tiro duplicateMovieClip (mcTiro, "mcTiros" + numTiros, numTiros); //Captar o objecto para a variável mcTiro mcTiro = eval("mcTiros" + numTiros); //Posicionar o tiro no centro superior da nave mcTiro._x = mcNave._x + (mcNave._width/2); mcTiro._y = mcNave._y; //Animação que levará o tiro desde a sua posição inicial até ao cimo do stage (ficando invisível) goToUp = new Tween(mcTiro, "_y",None.easeOut,mcTiro._y,(0-mcTiro._height),1,true); } }
TS91 Posted May 14, 2009 at 10:01 AM Author Report #264069 Posted May 14, 2009 at 10:01 AM Serviu perfeitamente. Obrigado. Cumpz
TS91 Posted May 14, 2009 at 10:08 AM Author Report #264071 Posted May 14, 2009 at 10:08 AM Só mais uma coisa da para controlar alguma coisa por tempo?
pouic Posted May 14, 2009 at 10:33 AM Report #264079 Posted May 14, 2009 at 10:33 AM Como assim? quando chegar ao tempo X saltar para uma frame Y ? Tipo GAME OVER????
chuckytuh Posted June 4, 2009 at 07:59 PM Report #269976 Posted June 4, 2009 at 07:59 PM hm ora podes usar um timer deste genero: var tm:Timer = new Timer(1000,3); tm.addEventListener(TimerEvent.TIMER_COMPLETE,funcaoPretendida); function funcaoPretendida(e:Event):void{ //fazeres o que queres aqui dentro.. } assim podes controlar a execuçao de algo apartir do timer 😛
pouic Posted June 5, 2009 at 08:01 AM Report #270065 Posted June 5, 2009 at 08:01 AM Só um reparo na defenição da variável timer pois com o parâmetro 3 à frente dos milissegundos vai fazer um loop de 3x e depois para. Assim sem o parâmetro é tempo sempre contínuo. var tm:Timer = new Timer(1000); tm.addEventListener(TimerEvent.TIMER,funcaoPretendida); Se precisares de "matar" o tempo podes fazer da seguinte forma tm.stop(); tm.removeEventListener(TimerEvent.TIMER, posicionaObjecto);
chuckytuh Posted June 5, 2009 at 02:59 PM Report #270202 Posted June 5, 2009 at 02:59 PM Só um reparo na defenição da variável timer pois com o parâmetro 3 à frente dos milissegundos vai fazer um loop de 3x e depois para. Assim sem o parâmetro é tempo sempre contínuo. Exactamente, usei o 3 meramente a titulo de exemplo, my bad, por vezes penso que as pessoas quando vao usar uma funçao pelo menos leem a sua documentaçao mas nem sempre acontece e se afinal estou aqui para tentar ajudar podia ter dito isso...
pouic Posted June 6, 2009 at 02:12 PM Report #270388 Posted June 6, 2009 at 02:12 PM Exacto tens razão 😛 normalmente tenho sempre a tendência de carregar no F1 n vezes quando programo 😛
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now