大家好,我正在制作一款平台游戏,而且我遇到精灵从舞台底部开始的问题: 像这样:
如果我试图跳,它会停留在一个看不见的平台上:
到目前为止,这是我的外部代码:
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;
}
}
}
}
答案 0 :(得分:0)
看起来他正站在平台上!你确定那不是发生了什么吗?
这不是错误。它正在做你告诉它的事情。它可能就像确保角色的脚位于影片剪辑的原点(编辑影片剪辑时的小白点)一样简单。