el problema lo tengo a la hora de acoplar el codigo del capitulo dos
//Colisión contra las paredes
//Derecha etc,...
dentro del evento onClipEvent (enterframe) "parte final"
ej:
Código ActionScript :
//Colisión contra las paredes //Derecha if (_parent._x>880) { _parent._x = 880; if (_root.speeda>0) { _root.speeda--; } else { _root.speeda++; } } //Izquierda if (_parent._x<20) { _parent._x = 20; if (_root.speeda>0) { _root.speeda--; } else { _root.speeda++; } } //Abajo if (_parent._y>880) { _parent._y = 880; if (_root.speeda>0) { _root.speeda--; } else { _root.speeda++; } } //Arriba if (_parent._y<20) { _parent._y = 20; if (_root.speeda>0) { _root.speeda--; } else { _root.speeda++; } }
dentro de
Código ActionScript :
onClipEvent (enterFrame) { //determinar velocidades maximas if (speed<-10) { speed += Number(.3); } if (speed>15) { speed -= .1; } //disminuir la velocidad si no se esta acelerando if (!Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) { speed *= .98; } //cuando la velocidad esta por debajo de 0.1 y mas de -0.1 se convierte en 0 if (speed<.1 && speed>-.1) { speed = 0; } //acelerar if (Key.isDown(Key.UP)) { if (speed<-1) {//aceleracion extra si venis en reversa speed -= (speed/3); } else {//aceleracion normal speed += Number(.1); } } if (Key.isDown(Key.DOWN)) {//frenado y reversa speed -= .3; } if (Key.isDown(Key.LEFT)) {//rotacion if (speed != 0) {//si no hay velocidad, no se puede girar _rotation -= 2; } } if (Key.isDown(Key.RIGHT)) { if (speed != 0) { _rotation += 2; } } this._x += Math.sin(_rotation*(Math.PI/180))*speed;//formulas de avance this._y += Math.cos(_rotation*(Math.PI/180))*speed*-1; }
tema que me da a entender que logicamente tendria que quedar asi el codigo completo:
Código ActionScript :
onClipEvent (load) { speed = 0; } onClipEvent (enterFrame) { //determinar velocidades maximas if (speed<-10) { speed += Number(.3); } if (speed>15) { speed -= .1; } //disminuir la velocidad si no se esta acelerando if (!Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) { speed *= .98; } //cuando la velocidad esta por debajo de 0.1 y mas de -0.1 se convierte en 0 if (speed<.1 && speed>-.1) { speed = 0; } //acelerar if (Key.isDown(Key.UP)) { if (speed<-1) {//aceleracion extra si venis en reversa speed -= (speed/3); } else {//aceleracion normal speed += Number(.1); } } if (Key.isDown(Key.DOWN)) {//frenado y reversa speed -= .3; } if (Key.isDown(Key.LEFT)) {//rotacion if (speed != 0) {//si no hay velocidad, no se puede girar _rotation -= 2; } } if (Key.isDown(Key.RIGHT)) { if (speed != 0) { _rotation += 2; } } this._x += Math.sin(_rotation*(Math.PI/180))*speed;//formulas de avance this._y += Math.cos(_rotation*(Math.PI/180))*speed*-1; } //Colisión contra las paredes //Derecha if (_parent._x>880) { _parent._x = 880; if (_root.speeda>0) { _root.speeda--; } else { _root.speeda++; } } //Izquierda if (_parent._x<20) { _parent._x = 20; if (_root.speeda>0) { _root.speeda--; } else { _root.speeda++; } } //Abajo if (_parent._y>880) { _parent._y = 880; if (_root.speeda>0) { _root.speeda--; } else { _root.speeda++; } } //Arriba if (_parent._y<20) { _parent._y = 20; if (_root.speeda>0) { _root.speeda--; } else { _root.speeda++; } }
pero no se como diablos "y disculpad mi ignorancia" las 4 declaraciones que me dan error aparezcan dentro del controlador onClipEvent.
Código :
**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 46: La declaración debe aparecer dentro del controlador on/onClipEvent if (_parent._x>880) { **Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 55: La declaración debe aparecer dentro del controlador on/onClipEvent if (_parent._x<20) { **Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 64: La declaración debe aparecer dentro del controlador on/onClipEvent if (_parent._y>880) { **Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 73: La declaración debe aparecer dentro del controlador on/onClipEvent if (_parent._y<20) {
gracias por la ayuda, la verdad que no encuentro manera de arreglarlo.