Estoy comenzando con la programación de Video Juegos y me estoy encontrando con el problema de que al probar la película mi personaje se mueve para atras.
Podrían ayudarme por favor a detectar el error.
El código con el que estoy trabajando es el siguiente:
main:
Código :
package {
import flash.display.MovieClip;
import Codigos.CamaraVirtual;
import flash.display.StageScaleMode;
import Codigos.Personaje;
public class main extends MovieClip {
public static var nuevoJugador:Personaje;
public static var nuevaCamara:CamaraVirtual;
public static var Temporalpuntos:int = 0;
public static var DerechaVar:Boolean = false;
public static var IzquierdaVar:Boolean = false;
public static var SaltoVar:Boolean = false;
public function main() {
stage.scaleMode = StageScaleMode.EXACT_FIT;
}
}
}
nivel 1
Código :
package Codigos.Niveles {
import flash.display.MovieClip;
import Codigos.Personaje;
import Codigos.CamaraVirtual;
import flash.events.Event;
public class Nivel1 extends MovieClip{
public function Nivel1() {
main.nuevoJugador = new Personaje;
addChild(main.nuevoJugador);
main.nuevoJugador.x = 300;
main.nuevoJugador.y = 150;
main.nuevaCamara = new CamaraVirtual;
addChild(main.nuevaCamara);
main.nuevaCamara.x = 400;
main.nuevaCamara.y = 240;
addEventListener(Event.ENTER_FRAME, nivel1Eventos);
}
private function nivel1Eventos (e:Event){
if(main.nuevoJugador.x<=150){
MovieClip(root).LineasNivel1.x+=5;
main.nuevoJugador.x+=5;
} else if (main.nuevoJugador.x>=650)
MovieClip(root).LineasNivel1.x-=5;
main.nuevoJugador.x-=5;
}
}
}camara virtual
Código :
package Codigos {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
public class CamaraVirtual extends MovieClip {
public function CamaraVirtual() {
addEventListener(MouseEvent.MOUSE_DOWN, Botones);
addEventListener(MouseEvent.MOUSE_UP, Saltar);
addEventListener(Event.ENTER_FRAME, TodaCam);
Puntos.text = String(int(0));
}
private function Botones (e:MouseEvent){
if (e.target == Derecha){
main.DerechaVar = true;
}
else if (e.target == Izquierda){
main.IzquierdaVar == true;
}
else if (e.target == Salto){
main.SaltoVar == true;
}
}
private function Saltar (e:MouseEvent){
main.DerechaVar = false;
main.IzquierdaVar = false;
main.SaltoVar = false;
}
private function TodaCam (e:Event){
Puntos.text = String(int(main.Temporalpuntos));
}
}
}
personaje
Código :
package Codigos {
import flash.display.MovieClip;
import flash.events.Event;
public class Personaje extends MovieClip {
private var VelocidadX:int = 5;
private var VelocidadY:int = 1;
private var Limite:int = 10;
private var Salto:int = -12;
public function Personaje() {
addEventListener(Event.ENTER_FRAME, Moverme);
}
private function Moverme (e:Event){
var NivelaTocar = MovieClip(root).LineasNivel1;
if (NivelaTocar.hitTestPoint(x, y + height / 2, true)){
while (NivelaTocar.hitTestPoint(x, y + height / 2, true)){
y--;
}
VelocidadY = 0;
if(main.SaltoVar){
VelocidadY = Salto;
y+=VelocidadY;
}
}
else if (NivelaTocar.hitTestPoint(x, y - height / 2, true)){
VelocidadY = VelocidadY * -0,5;
y +=VelocidadY;
while (NivelaTocar.hitTestPoint(x, y - height / 2, true)){
y++;
main.SaltoVar = false;
}
}
else {
y+= VelocidadY * 1,5;
main.SaltoVar = false;
if (VelocidadY <= Limite){
VelocidadY++;
}
}
while (NivelaTocar.hitTestPoint(x + width / 2, y, true)){
x--;
}
while (NivelaTocar.hitTestPoint(x - width / 2, y, true)){
x++;
}
movimientosReales();
}
private function movimientosReales(){
if (main.DerechaVar){
x+= VelocidadX;
scaleX = 1;
}
else if (main.IzquierdaVar){
x-= VelocidadX;
scaleX = -1;
}
}
}
}[img]https://ibb.co/bDW3gL[/img]
[img]https://ibb.co/bDW3gL[/img]
