Sprite打一个看不见的平台

时间:2017-04-09 19:01:28

标签: actionscript-3 flash actionscript

大家好,我正在制作一款平台游戏,而且我遇到精灵从舞台底部开始的问题: 像这样:

如果我试图跳,它会停留在一个看不见的平台上:

到目前为止,这是我的外部代码:

import flash.display.*;
import flash.events.*;
import flash.ui.*;

public class codes extends MovieClip
{
    public function codes(){
        chara.stop();
        stage.addEventListener (KeyboardEvent.KEY_DOWN, keydown);
        stage.addEventListener (KeyboardEvent.KEY_UP, keyup);
        stage.addEventListener (Event.ENTER_FRAME, gameloop);
    }
    var mspeed:Number=0;
    var sy:Number=2;
    var gv:Number=1;
    var jumped:Boolean=false; 

    function keydown (e:KeyboardEvent){
        if (e.keyCode==Keyboard.LEFT){
            mspeed=-10;
            chara.gotoAndStop(2);
        }
        if (e.keyCode==Keyboard.RIGHT){
            mspeed=10;
            chara.gotoAndStop(1);
        }
        if (e.keyCode==Keyboard.SPACE) {
            if (!jumped){
                sy=-20;
                jumped=true;
            }
        }
    }

    function keyup (e:KeyboardEvent){
        if (e.keyCode==Keyboard.LEFT){
            mspeed=-0;
        }
        if (e.keyCode==Keyboard.RIGHT){
            mspeed=0;
        }
    }

    function gameloop (e:Event) {
        chara.x += mspeed;

        if (chara.x<0) {
            chara.x=0;
        }
        if (chara.x>950) {
            chara.x=950;
        }

        sy+=gv;
        if (!jump.hitTestPoint(chara.x,chara.y,true)) {
            chara.y+=sy;
        }

        for (var i=0;i<10;i++) {
            if (jump.hitTestPoint (chara.x, chara.y, true)) {
                chara.y--;
                sy=0;
                jumped=false;
            }
        }
    }

 }

1 个答案:

答案 0 :(得分:0)

  

看起来他正站在平台上!你确定那不是发生了什么吗?

  

这不是错误。它正在做你告诉它的事情。它可能就像确保角色的脚位于影片剪辑的原点(编辑影片剪辑时的小白点)一样简单。