Comunidad de diseño web y desarrollo en internet online

Por favor ayuda con juego de memoria simple

Citar            
MensajeEscrito el 08 Mar 2012 07:51 pm
Primero que nada les agradesco de antemano a todos por tomarse un tiempo. y ahoraa si tengo un juego creado en AS 2 y todo funciona perfecto, lo uinico que quiero es que cuando se acaben las cartas brinque a otro fotograma aqui les dejo este es todo el codigo utilizado, espeero me puedan ayudar

Código ActionScript :

// Gamefield settings

// EDIT HERE
card_w = 87;
card_h = 111;
card_wdistance = 15;
card_hdistance = 15;

// STOP EDIT
card_dw = card_w + card_wdistance;
card_dh = card_h + card_hdistance;
row_card = 2;
col_card = 2;
n_card = col_card * row_card % 2 == 0 ? col_card * row_card : (col_card - 1) * row_card;
imgs_n = n_card / 2;

// CENTER THE IMAGE IN THE CARD 
centerImage = function(target){
   target.front._visible = false
   target.front.container._x -= target.front.container._width / 2 
   target.front.container._y -= target.front.container._height / 2 
}
// ---------------------------------------------
  
empty = new Array();
function createCard(n, w, h) {
   empty.push(n);
   this.createEmptyMovieClip('card' + n, n);
   with (this['card' + n]) {
      lineStyle(0, 0x000000, 100);
      beginFill(0x000099, 60);
      moveTo(w / 2, 0);
      lineTo(w / 2, h / 2);
      lineTo(-w / 2, h / 2);
      lineTo(-w / 2, -h / 2);
      lineTo(w / 2, -h / 2);
      lineTo(w / 2, 0);
      endFill();
      createEmptyMovieClip('front', 1);
      front.createEmptyMovieClip('container', 2);
      front.createEmptyMovieClip('backgr', 1);
      with (front.backgr) {
         moveTo(-w / 2, -h / 2);
         lineStyle(0, 0x000000, 0);
         beginFill(0x333333, 100);
         lineTo(w / 2, -h / 2);
         lineTo(w / 2, h / 2);
         lineTo(-w / 2, h / 2);
         lineTo(-w / 2, -h / 2);
         endFill();
      }
      front.onEnterFrame = function() {
         tot = this.container.getBytesTotal();
         car = this.container.getBytesLoaded();
         if (tot == car && tot > 200) {
            this._parent._parent.centerImage(this._parent);
            delete this.onEnterFrame;
         }
      };
   }
}
selcards = [];
function placeImages() {
   act_img = 0;
   for (img = 0; img < imgs_n; img++) {
      for (k = 0; k < 2; k++) {
         act = Math.round(Math.random() * (empty.length - 1));
         this['card' + empty[act]].img_id = act_img;
         this['card' + empty[act]].front.container.loadMovie("imgs/img" + act_img + ".jpg");
         this['card' + empty[act]].onRelease = function() {
            this.rotateCard(0, 0);
            this.enabled = false;
            MovieClip.prototype.enabled = false;
         };
         empty.splice(act, 1);
      }
      act_img++;
   }
}
MovieClip.prototype.rotateCard = function(v, i) {
   this.operazione = v == 0 ? +0.1 : -0.1;
   this.incremento = i == 0 ? 100 : 10;
   selcards.push(this._name);
   this.onEnterFrame = function() {
      this.incremento += this.operazione;
      this._xscale = (100 * Math.sin(this.incremento));
      if (this._xscale > 0) {
         this.front._visible = v == 1 ? false : true;
      }
      if (this._xscale >= 99) {
         delete this.onEnterFrame;
         selcards.length < 2 ? MovieClip.prototype.enabled = true : null;
         v == 0 && selcards.length > 1 ? checkCards() : null;
      }
   };
};
function generateGameField(cards, distance, hdistance) {
   Ypos = card_h / 2 + hdistance;
   Xpos = card_w / 2 + distance;
   for (c = 0; c < cards; c++) {
      createCard(c, card_w, card_h);
      if (c % row_card == 0 && c > 0) {
         Ypos += this['card' + c]._height + hdistance;
         Xpos = card_w / 2 + distance;
      }
      this['card' + c]._x = Xpos;
      this['card' + c]._y = Ypos;
      Xpos += this['card' + c]._width + distance;
   }
   placeImages();
}
generateGameField(n_card, card_wdistance, card_hdistance);
score = 0;
this.createTextField('punti', -1, 500, 380, 0, 0);
punti.autoSize = true;
punti.text = 0;
function checkCards() {
   if (this[selcards[0]].img_id == this[selcards[1]].img_id) {
      score++;
      punti.text = score;
      eval(selcards[0])._visible = eval(selcards[1])._visible = false;
   } else {
      eval(selcards[0]).rotateCard(1, 1);
      eval(selcards[1]).rotateCard(1, 1);
      eval(selcards[0]).enabled = eval(selcards[1]).enabled = true;
   }
   selcards = [];
   MovieClip.prototype.enabled = true;
}

Por urbanoe

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Mar 2012 05:04 pm
Con esto uno comprueba que TU NO ESTAS PROGRAMANDO.Si tu hubieras hecho tu propio juego creando tu propio codigo hubieras entendido como modifircarlo.Esto quiero hacerles ver a todos los que programan, PROGRAMAR NO ES COPIAR Y PEGAR UN CODIGO, ES INTERPRETARLO.No puedes empezar a hacer esto en flash siendo principiante,NO PUEDES CORRER ANTES DE CAMINAR

Por Martinkpo83

22 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 17 Mar 2012 12:19 pm

Martinkpo83 escribió:

Con esto uno comprueba que TU NO ESTAS PROGRAMANDO.Si tu hubieras hecho tu propio juego creando tu propio codigo hubieras entendido como modifircarlo.Esto quiero hacerles ver a todos los que programan, PROGRAMAR NO ES COPIAR Y PEGAR UN CODIGO, ES INTERPRETARLO.No puedes empezar a hacer esto en flash siendo principiante,NO PUEDES CORRER ANTES DE CAMINAR


Es cierto Martin, pero no hace falta que se lo digas así :/

Yo también empecé copiando códigos en flash, pero mucho mas simples, no un cambio tan brusco. Además, el juego no es tan simple como tu dices, yo lo veo un poco difícil....

Por PS1Rocks

29 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.