Comunidad de diseño web y desarrollo en internet online

Error con el ancho del escenario

Citar            
MensajeEscrito el 01 Abr 2008 09:48 pm
Posiblemente esto me dirán que debería ir en los temas relacionados con AS, pero sé de antemano que en mi código no hay erro (si a caso solo unas mañas :lol:)

Mi código es similar a este (y también este me causa problemas):

Código :

var circulo:Sprite = new Sprite();
circulo.graphics.beginFill(0x0000FF);
circulo.graphics.drawCircle(10,200,20)
addChild(circulo);

var vel:Number = 10;
function botar(evento:Event):void{
   evento.target.x += vel;
   if(evento.target.x > stage.width || evento.target.x < 0){
      vel *= -1;
   }
}

circulo.addEventListener(Event.ENTER_FRAME,botar);


Esto en teoría el circulo debería ir de un lado a otro del escenario, pero me ocurre que pasa una de dos cosas:

1) recorre la mitad del escenario, se traba y después regresa, se traba un rato y vuelve a ir a la mitad del escenario.

2) empieza a botar como si el escenario solo midiera 60 o 70px

Si alguien pudiera probarlo se lo agradecería y que me mandara sus resultados.

Por SickboyJV

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Abr 2008 10:13 pm
ok ya encontré el error (y con errores me referia a de sintaxis, se que soy humano jajaja y para eso eso uso el corrector...

bueno el detalle esta en la condición del if:

No es stage.width, es stage.stageWidth

Por SickboyJV

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Abr 2008 10:15 pm
Primero qeu nada lo muevo a AS3.

Para obtener el width o el height del stage se usa:

Código :

stage.stageWidth
stage.stageHeight


Quedaria asi:

Código :

var circulo:Sprite = new Sprite();
circulo.graphics.beginFill(0x0000FF);
circulo.graphics.drawCircle(10,200,20);
addChild(circulo);

var vel:Number = 10;
function botar(evento:Event):void {
   evento.target.x += vel;
   if (evento.target.x+evento.target.width >= stage.stageWidth || evento.target.x <= 0) {
      vel *= -1;
   }
}

circulo.addEventListener(Event.ENTER_FRAME,botar);

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 01 Abr 2008 10:28 pm
sip ahora ya lo sé, no pues no va tan asi, bueno en el ejemplo si, pero en mi trabajo no por que es un MC vació asi que no tengo sumarle el ancho del mismo para evitar que rebase la linea.

Muchísimas gracias, la verdad ya me estaba quebrando la cabeza

Por SickboyJV

3 de clabLevel



 

firefox

 

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