Example5
Terugkerende gebruiker
- Lid geworden
- 9 mrt 2008
- Berichten
- 2.172
beste...
ik ben bezig met wat tutorialtjes van flash door te kijken, en zelf een beetje een spel in elkaar te prutsen...
ik heb de onderstaande code (verkregen via een tutorial) enigszins aangepast... nu wil ik ook een reverse/achteruit functie toevoegen... maar ik snap eigenlijk niet echt hoe ik dat aanpak aangezien het vooruit bewegen ook al een redelijke puzzel is :S
hieronder de code, ik heb alvast een keypressdown gemaakt... (ff iets naar beneden scrollen)
ik ben bezig met wat tutorialtjes van flash door te kijken, en zelf een beetje een spel in elkaar te prutsen...
ik heb de onderstaande code (verkregen via een tutorial) enigszins aangepast... nu wil ik ook een reverse/achteruit functie toevoegen... maar ik snap eigenlijk niet echt hoe ik dat aanpak aangezien het vooruit bewegen ook al een redelijke puzzel is :S
hieronder de code, ik heb alvast een keypressdown gemaakt... (ff iets naar beneden scrollen)
Code:
var increment:Number = 0; //amount the car moves each frame
var posNeg:Number = 1;
var acceleration:Number = .11; //acceleration of the car, or the amount increment gets increased by.
var speed:Number = 0; //the speed of the car that will be displayed on screen
var maxSpeed:Number = 50; //The max speed the car can travel
var dog:Object = Dog1;
var carRotation:Number = dog.rotation; //rotation of the car
//keyboard capture code start
var keyLeftPressed:Boolean;
var keyRightPressed:Boolean;
var keyUpPressed:Boolean;
var keyDownPressed:Boolean;
var spaceBarPressed:Boolean;
var key1Pressed:Boolean;
var key2Pressed:Boolean;
addEventListener(Event.ENTER_FRAME,onEnterFrameFunction);
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP,keyReleased);
//keyboard capture code end
function onEnterFrameFunction(event:Event) {
//detecting speed
speed = Math.round((increment)*5);
spedometer.text = String(speed);
if ((dog.rotation < 180)&&(dog.rotation >= 0)){
carRotation = dog.rotation;
posNeg = 1;
}
if ((dog.rotation < 0)&&(dog.rotation > -180)){
carRotation = -1 * dog.rotation;
posNeg = -1;
}
if (dog.x<0 || dog.x>500){
increment = 0;
}
//if Right key pressed rotate the car clockwise and change image to carRight
if (keyRightPressed) {
dog.rotation += .7*increment;
dog.gotoAndStop(3);
}
//if Left key pressed rotate the car counterclockwise and change image to carLeft
if (keyLeftPressed) {
dog.rotation -= .7*increment;
dog.gotoAndStop(2);
}
//if neither Left or Right key pressed change image to carStraight
if (!keyLeftPressed && !keyRightPressed) {
dog.gotoAndStop(1);
}
//if key 1 is pressed select diff thingie!
if (key1Pressed) {
dog = Dog1;
trace ("f")
}
//if key 2 is pressed select diff thingie!
if (key2Pressed) {
dog = Dog2;
trace ("g")
}
//////////////////////
/// HIERRRRRRRRRRRRRRRRRRRRRR
if (keyDownPressed) {
}
////////////////////////////////////////
//When up key is pressed...
if (keyUpPressed) {
dog.y -= ((90-carRotation)/90)*increment;
if (((dog.rotation > 90)&&(dog.rotation < 180))||((dog.rotation < -90)&&(dog.rotation > -180))) {
dog.x += posNeg * (((((1-(carRotation/360))*360)-180)/90)*increment);
}
if (((dog.rotation <= 90)&&(dog.rotation > 0))||((dog.rotation >= -90)&&(dog.rotation < -1))) {
dog.x += posNeg * ((carRotation)/90)*increment;
}
if (spaceBarPressed) {
increment -= .5*acceleration;
}
if (!spaceBarPressed && speed < maxSpeed) {
increment += acceleration;
}
}
else {
if (increment > 0 && spaceBarPressed) {
dog.y -= ((90-carRotation)/90)*increment;
if (((dog.rotation > 90)&&(dog.rotation < 180))||((dog.rotation < -90)&&(dog.rotation > -180))) {
dog.x += posNeg * (((((1-(carRotation/360))*360)-180)/90)*increment);
}
if (((dog.rotation <= 90)&&(dog.rotation > 0))||((dog.rotation >= -90)&&(dog.rotation < -1))) {
dog.x += posNeg * ((carRotation)/90)*increment;
}
increment -= 4*acceleration;
}
else if (increment > 0) {
dog.y -= ((90-carRotation)/90)*increment;
if (((dog.rotation > 90)&&(dog.rotation < 180))||((dog.rotation < -90)&&(dog.rotation > -180))) {
dog.x += posNeg * (((((1-(carRotation/360))*360)-180)/90)*increment);
}
if (((dog.rotation <= 90)&&(dog.rotation > 0))||((dog.rotation >= -90)&&(dog.rotation < -1))) {
dog.x += posNeg * ((carRotation)/90)*increment;
}
increment -= 1.5*acceleration;
}
else
increment = 0;
}
}
function keyPressed(event:KeyboardEvent) {
if (event.keyCode == Keyboard.LEFT)
keyLeftPressed = true;
if (event.keyCode == Keyboard.RIGHT)
keyRightPressed = true;
if (event.keyCode == Keyboard.UP)
keyUpPressed = true;
if (event.keyCode == Keyboard.DOWN)
keyDownPressed = true;
if (event.keyCode == Keyboard.SPACE)
spaceBarPressed = true;
if (event.keyCode == 49)
key1Pressed = true;
if (event.keyCode == 50)
key2Pressed = true;
}
function keyReleased(event:KeyboardEvent) {
if (event.keyCode == Keyboard.LEFT)
keyLeftPressed = false;
if (event.keyCode == Keyboard.RIGHT)
keyRightPressed = false;
if (event.keyCode == Keyboard.UP)
keyUpPressed = false;
if (event.keyCode == Keyboard.DOWN)
keyDownPressed = false;
if (event.keyCode == Keyboard.SPACE)
spaceBarPressed = false;
if (event.keyCode == 49)
key1Pressed = false;
if (event.keyCode == 50)
key2Pressed = false;
}
Laatst bewerkt: