Comunidad de diseño web y desarrollo en internet online

Espero ke me entiendan!!! por favor

Citar            
MensajeEscrito el 18 Abr 2007 09:23 pm
hola...
en este momento estoy diseñando y programando un juego en flash...
actions script 2 y flash 8... en fin
Tengo un problema..... el juego siempre se mueve hacia la derecha.... como el movimiento de escenario de mario bros... :cool: :cool:
De hecho imaginemos que estamos en mario bros... cuando uno dispara el disparo obviamente sale hacia el lado el cual uno este mirando... esto lo tengo bien programado... el problema es cuando el jugador se voltea hacia la izquierda el disparo sale hacia la direccion contraria osea la derecha....
como puedo arreglar esto....
para los que quieran invulocrarse en el tema... lo cual agradeceria mucho les doy la siguiente informacion

LASER

Código :

 
onClipEvent (load) {
   laserMoveSpeed = 20;
   this._x = _root.mira_mc._x+35;
   this._y = _root.mira_mc._y+30;
   //scorc = _root.scora+_root.scorb;
}
onClipEvent (enterFrame) {
   if (this._name<>"laser") {
      this._x += laserMoveSpeed;
      if (this._x>800) {
         _root.mira_mc.laserCounter--;
         this.removeMovieClip();
      } else if ((this._name<>"laser") and (_xscale == -scale)) {
         this._x -= laserMoveSpeed;
         if (this._x<-5) {
            _root.mira_mc.laserCounter--;
            this.removeMovieClip();
         }
      }
      for (i=1; i<=_root.numEnemy; i++) {
         if (this.hitTest(_root["enemy"+i])) {
            _root.scora += 13;
            _root.scorc += 13;
            this._visible = false;
            _root["enemy"+i].gotoAndPlay(2);
            this.play();
         } else if (this.hitTest(_root["enemy2"+i])) {
            _root.scorb += 7;
            _root.scorc += 7;
            this._visible = false;
            _root["enemy2"+i].gotoAndPlay(2);
            this.play();
         }
         if (_root.scorc>3000) {
            _root.gotoAndStop("puntaje", 1);
         }
      }
   }
}



PERSONAJE PRINCIPAL

Código :

onClipEvent (load) {
   moveSpeed = 3;
   _root.laser._visible = false;
   laserCounter = 1;
   scrollx = 470;
   scrollStart = false;
   maxLasers = 3;
   depthCounter = 1;
   scale = _xscale;
}
onClipEvent (enterFrame) {
   if (Key.isDown(Key.SPACE) and (laserCounter<=maxLasers)) {
      laserCounter++;
      _root.laser.duplicateMovieClip("laser"+depthCounter, depthCounter);
      _root["laser"+depthCounter]._visible = true;
      depthCounter++;
      if (depthCounter>maxLasers) {
         depthCounter = 1;
      }
      this.dispara_mc.play();
   }
   if (Key.isDown(Key.RIGHT)) {
      this._xscale = +scale;
      this.camina_mc.play();
      if (this._x<scrollx) {
         this._x += moveSpeed;
      } else {
         scrollStart = true;
      }
   } else if (Key.isDown(Key.LEFT) && !_root.leftbound.hitTest(_x, _y, true)) {
      this._x -= moveSpeed;
      scrollStart = false;
      this.camina_mc.play();
      this._xscale = -scale;
   }
   if (Key.isDown(Key.DOWN) && !_root.downbound.hitTest(_x, _y, true)) {
      this._y += moveSpeed;
      this.camina_mc.play();
   } else if (Key.isDown(Key.UP) && !_root.upbound.hitTest(_x, _y, true)) {
      this._y -= moveSpeed;
      this.camina_mc.play();
   }
   if (Key.isDown(Key.ENTER)) {
      getURL("http://www.nyse.com", "_blank");
   }
}
onClipEvent (keyUp) {
   if (Key.getCode() == (Key.RIGHT)) {
      scrollStart = false;
   }
}





ENEMIGO 1la programacion del enemigo2 osea el ke proviene de la izquierda la omito... seria simple el cambio de direccion.. ademas llenaria mas texto....

Código :

onClipEvent (load) {
   function reset() {
      this._x = 850;
      this._y = random(100)+370;
      enemySpeed = random(4)+1;
      this.gotoAndStop(1);
   }
   reset();
}
onClipEvent (enterFrame) {
   if (_root.mira_mc.scrollStart) {
      this._x -= enemySpeed+_root.mainGround.groundSpeed;
   } else {
      this._x -= enemySpeed;
   }
   if (this._x<-10) {
      reset();
   }
   if (this.hitTest(_root.mira_mc)) {
      _root.gotoAndStop("perdiste");
      _root.mira_mc.play();
   }
}

Por dialogikstudio

3 de clabLevel



Genero:Masculino  

2005

firefox
Citar            
MensajeEscrito el 19 Abr 2007 04:06 am
pretendes que resolvamos tu duda o que te hagamos el programa ?? :?

si quieres hacerme trabajar pagame por ello, si no resume tu problema a no mas de 8 lineas

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 19 Abr 2007 02:40 pm
jajajaja :lol: no pues tampoco es ke pretendo ke me hagan el programa.... ya lo tengo hecho...
el unico problema es la direccion del disparo......
cuando estoy mirando hacia el frente... osea hacia la direccion derecha.. el disparo sale en esta direccion....
pero cuando miro hacia atras.. osea hacia la izquierda... el disparo sigue saliendo hacia l derecha osea hacia el lado contrario...
puse los codigos... para ver en donde esta la solucion.....
de todas formas gracias

Por dialogikstudio

3 de clabLevel



Genero:Masculino  

2005

firefox
Citar            
MensajeEscrito el 19 Abr 2007 03:30 pm
define una variable global en el primer fotograma de tu animación:
_global.Sentido = 1;

en el código de tu personaje dentro del "if (Key.isDown(Key.RIGHT))" pones:
_global.Sentido = 1;

y en el "if (Key.isDown(Key.LEFT)" pones:
_global.Sentido = -1;

en el codigo de tu laser cambia la linea "this._x += laserMoveSpeed;" por:
this._x += laserMoveSpeed * _global.Sentido;

cambia la linea:
} else if ((this._name<>"laser") and (_xscale == -scale)) {
por:
} else if (this._x<-5){

elimina las lineas:
this._x -= laserMoveSpeed;
if (this._x<-5) {

y la llave que cierra a este ultimo IF;

Espero que esto te sirva, segun yo si funciona.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 20 Abr 2007 06:06 pm
Bueno muchas gracias!!!
me sirvio mucho...
pero ahora surgio un nuevo problema.... XD

el disparo sale segun la direccion en la cual se este mirando... el problema es que si el jugador dispara hacia la izquierda y gira hacia la derecha el disparo.. si no ha dado con ningun enemigo .. este se da la vuelta hacia la derecha.... osea el disparo siempre esta en la direccion en la cual es jugador este mirando...

XD ... muchas gracias si me puede colaborar en este problemita!!

Por dialogikstudio

3 de clabLevel



Genero:Masculino  

2005

firefox
Citar            
MensajeEscrito el 23 Abr 2007 01:43 pm
despues de duplicar el laser agrega el siguiente código:

Código :

_root["laser"+depthCounter].Sentido = _global.Sentido;

y en el codigo de tu laser cambia la linea "this._x += laserMoveSpeed * _global.Sentido;" por:

Código :

this._x += laserMoveSpeed * this.Sentido;

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 23 Abr 2007 02:52 pm
excelente....
muchas gracias...
sirvio a la perfeccion......
pero tengo mas dudas.... me podrias seguir ayudando....
:cool:

espero tu respuesta!!!!

chau y de nuevo gracias

Por dialogikstudio

3 de clabLevel



Genero:Masculino  

2005

firefox
Citar            
MensajeEscrito el 23 Abr 2007 04:03 pm
Escribeme a gabynufe @ yahoo.com.mx

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 04 May 2007 07:15 pm
Bueno te escribi hace rato pero no se si te llego..

Tengo una duda urgente!!!

mira ke en el juego los enemigos nunca desaparecen
osea...

cuando el enemigo toca al jugador ... la pelicula se va para una escena diferente
esto funciona bien... el error es ke en este punto los enemigos siguen saliendo..

como puedo corregir esto???

Por dialogikstudio

3 de clabLevel



Genero:Masculino  

2005

firefox
Citar            
MensajeEscrito el 07 May 2007 05:07 pm
removeMovieClip() ????????????????????????????

Por bryanisimo

664 de clabLevel



Genero:Masculino  

Geek

firefox
Citar            
MensajeEscrito el 07 May 2007 05:24 pm
aja XD.......

Por dialogikstudio

3 de clabLevel



Genero:Masculino  

2005

firefox
Citar            
MensajeEscrito el 09 May 2007 03:35 pm
oye tengo una duda, desapareció el icono de flash de mi escritorio y no se como abrirlo ¿puedes ayudarme?

Por nodream

Claber

99 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 May 2007 04:14 pm
XD

Por bryanisimo

664 de clabLevel



Genero:Masculino  

Geek

firefox

 

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