Olá! Thursday, 24 de May de 2018.



Dicas CódigoFonte.net
Saturday, 06 de January de 2007

Blokinhos MX Part FINAL - Programação AS

Olá Pessoal...
Desculpem a demora para o colocar o próximo Tutorial dessa sequência do jogo. bom só falta a programação,

então ao invés de 4 iremos resumir em 3 Tutoriais...esse é o último.

Vamos lá.

No segundo frame da camada AÇõES coloque o seguinte código:

  1. stop();
  2.  
  3. velocidadex = 30;
  4. velocidadey = -10;
  5. pontos = 00;
  6. bonus = 00;
  7. vidas = 3;
  8. blocos = 15;
  9.  
  10. <i>//Primeiro declaramos as variáveis que indicarão a velocidade tanto no eixo _X quanto no eixo _Y</i>
  11. <i>//Logo abaixo a variável que indicará os Pontos, em seguida os Bônus, a quantidade de vidas e por último uma variável indicando a quantidade de blocos que há no palco.</i>
  12.  
  13.  
  14. btSom = new Sound();
  15. btSom.attachSound("siren");
  16. btSom.setVolume(100);
  17. <i>//Aqui criamos o objeto de som que será feito quando a "bolinha" tocar nos Blokinhos</i>
  18.  
  19. MeuSom = new Sound();
  20. MeuSom.attachSound("entrada");
  21. MeuSom.start(1,100); // posição (1) e loop (100)
  22. MeuSom.setVolume(70);
  23. <i>//Aqui criamos o objeto que será o som de fundo, com posição inicial em 1, ou seja no inicio e com loop 100, ou seja sempre ficará tocando.</i>
  24.  
  25.  
  26. objCor = new Color();
  27.  objCor.setRGB();
  28.  objCor = new Color();
  29.  objCor.setRGB();
  30. <i>//Aqui estou criando um objeto Color que irá alterar a cor dos Bloquinhos Via Action Script, ou seja, como criamos só um Blokinhos (retângulo) no palco, os outros serão cópias, todos terão a mesma cor, então com esse Código criado, quando formos colocar no Blokinho cada um terá sua cor personalizada.</i>
  31.  
  32.  onEnterFrame = function (){
  33.  if (_root.vidas < 0){
  34. mens = "You lose";
  35. velocidadex = 0;
  36. velocidadey = 0;
  37. gotoAndStop(11);
  38.  
  39. vidas = "";
  40.  
  41.  } if (blocos < 1){
  42.  mens = "You Win!!!!!";
  43.  velocidadex = 0;
  44. velocidadey = 0;
  45. gotoAndStop(11);
  46.  }
  47.  };
  48.  
  49. <i>//Neste trecho é o seguinte, enquanto estiver neste Frame (onEnterFrame), se a quantidade de vidas for menor que "0", no texto que criamos na aula anterior com a váriavel "mens" será "You lose", a velocidade _X e _Y serão iguais a "0", ou seja a bolinha irá parar, você será direcionado para o Frame 11 e vidas aparecerá nada, ou seja, ficará zerada.
  50. //Na Parte de baixo diz o seguinte, também neste Frame, se blocos for menor que 1, a "mens" será "You Win", velocidade _X e _y também serão "0" e você também setá direcionado para o Frame 11.</i>


Estes são os códigos do segundo frame da Camada Ações.

////////////////Agora Selecione com apenas um clique o retângulo que demos o nome de Intância "solo", que será aquele que iremos jogar, que não irá deixar a bolinha cair e coloque o seguinte código:////////////////

  1. onClipEvent (enterFrame){
  2.  startDrag(this, true, 70, 545, 370, 545);
  3. }
  4. <i>// Aqui ele declara que o "solo" será direcionado somente na escala _X e _y de acordo com o movimento do mouse, se limitando na posição 70 e 370 de distância e 545 de altura.</i>


////////Agora selecione a "bolinha" e coloque o seguinte código://////////

  1. onClipEvent (enterFrame){
  2.  
  3. this._x += _root.velocidadex;
  4. this._y += _root.velocidadey;
  5. <i>//neste tracho a bolinha recebe o valos de velocidade das variáveis declaradas anteriormente</i>
  6.                       if(this.hitTest(_root.teto)){
  7. _root.velocidadey *= -1;
  8. <i>//Se a "bolinha" se colidir com o "teto", a velocidadey será *=-1, irá se reverter.</i>
  9. }else if (this.hitTest(_root.solo)){
  10. _root.velocidadey *= -1;
  11. _root.velocidadex *= -1;
  12. }
  13. <i>//Se não, se a "bolinha" se colidir com o "solo", a velocidadey será *=-1 e a velocidadex também será *=-1, assim não corre o risco da "bolinha" sempre ir na Vertical, ela irá ter o efeito de Diagonal.</i>
  14.  
  15. if(this.hitTest(_root.parede1)){
  16. _root.velocidadex *= -1;
  17. <i>// Se não, se a "bolinha" se colidir com a parede1, a velocidadex será *=-1</i>}else if (this.hitTest(_root.parede2)){
  18. _root.velocidadex *= -1;
  19. <i>// Se não, se a "bolinha" se colidir com a parede2, a velocidadex será *=-1</i>
  20. }else if (this.hitTest(_root.fim)){
  21.  _root.vidas = _root.vidas -1;
  22.  this._x = 227,8;
  23.                        this._y = 406,3;
  24.  _root.velocidadex = 30;
  25.  _root.velocidadey = -10;
  26. }
  27. }
  28. <i>// Se não, se a "bolinha" se colidir com o campo de texto Dinâmico que criamos com a váriavel "fim", a vida irá diminuir -1, a bolinha irá retorar no ponto inicial indicado no eixo _X e _y e a velocidade irá retornar também a de inicio indicada. </i>


////////Para cada Blokinho, coloque o código à seguir//////////


  1. onClipEvent (enterFrame){
  2. _root.objCor = new Color(this);
  3.  _root.objCor.setRGB(0x333333);
  4. if (this.hitTest(_root.circulo)){
  5.  _root.pontos = _root.pontos +10;
  6.  _root.bonus = _root.bonus + 5;
  7.  this.gotoAndPlay (2);
  8.  _root.velocidadey *= -1;
  9.  _root.blocos --;
  10.  _root.btSom.start();
  11. }
  12. }
  13. <i>//Esse código diz que: Primeiro, utilizamos o objeto Color que criamos anteriormente, colocando a cor que bem desejarmos para cada blokinho, essa cor será em Exadecimal, devendo ser alterada somente na segunda linha desse trecho.
  14. //Logo após digo o seguinte: se este Blokinho se colidir com a "bolinha", os pontos somarão +10, os bônus somarão +5, este próprio blokinho irá para o seu frame 2, ou seja, eu crie uma animação para ele desaparecer assim que fosse tocado, lembrando que ele é um movie Clip, então pode-se ter animação dentro ele sem problemas, a velicidadey será *=-1, a variável blocos irá decrementar 1, e o Objeto som que criamos no anteriormente será acionado.</i>



////////////////No Frame 11 //////////////////////////////

NO frame 11 da camada Ações coloque o código:

  1. stop();
  2. total = _root.pontos + _root.bonus;
  3. <i>// Aqui apenas deixamos o quadro parado em STOP() e fazemos a soma dos pontos.</i>



///////////// Ainda no Frame 11 (botão inicio)///////////////

Na aula passada haviamos criado o botão Inicio e Jogar de Novo no Frame 11, então para o botão inicio coloque:

  1. on (release){
  2. gotoAndStop(1);
  3. stopAllSounds();
  4. _root.blocos = 15;
  5. mens = "";
  6. }
  7. <i>//Quando soltar irá para a primeira tela do jogo, irá desligar o som, más o 1 frame irá ligá-lo de novo, a variável "blocos" irá novamente voltar a ser 15 e a "mens" estará apagada.</i>
  8.  
  9. E no botão Jogar de Novo coloque o seguinte:
  10.  
  11. on (release){
  12. gotoAndPlay(2);
  13. stopAllSounds();
  14. mens = "";
  15. }
  16. <i>//praticamente as mesmas informações, porém agora irá para o Frame 2 e não têm mais a variável "blocos", porque o Frame pelo qual o jogador será direcionado já têm essa variável declarada. </i>


OBS: Nos blokinhos quando for inserir os código citado, vocês podem alterar a quantidade de pontos ou de bônus de acordo com a vontade de cada um, assim pode ser feito também na velocidade da bolinha.

Bom Pessoal é isso aí...espero que os códigos aqui citados venham ser úteis não só neste exemplo do jogo como também em necessidades futuras...

Vocês podem acompanhar esse joguinho também no meu site... www.r-alves.com e/ou encaminhar suas dúvidas [email protected]

Muito Obrigado
Até a próxima.

Comentários do artigo [Novo comentário]

Diablos 4-Ever - 09 de June de 2009 - 03:24
:)
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010