だから私は現在、迷路のようなゲームをしようとしています。問題は壁の衝突にあります。キャラクターが壁にぶつかると、私は彼を追い出すことができなくなり、衝突後にどの方向に連れて行こうとしても、彼は「スタック」します。私が考えていた解決策の1つは、キャラクターが壁にぶつかるたびに「バックアップ」して、衝突が検出されないようにすることでした。しかし、私がそうすると、彼は奇妙な方法で壁を通り抜けます。これが私のコードですので、皆さんは私が何をしているのかを知ることができます:
function keyPressed(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.LEFT)
{
leftArrow = true;
if(char.hitTestObject(test))
{
leftHit= true;
} else {
leftHit = false;
}
}
if (event.keyCode == Keyboard.RIGHT)
{
rightArrow = true;
if(char.hitTestObject(test))
{
rightHit= true;
} else {
rightHit = false;
}
}
}
function keyReleased(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.LEFT)
{
leftArrow = false;
}
if (event.keyCode == Keyboard.RIGHT)
{
rightArrow = false;
}
}
function walking(event:Event):void {
if (rightArrow) {
if(rightHit)
char.x -= speed;
else
char.x += speed;
}
if (leftArrow) {
if(leftHit)
char.x += speed;
else
char.x -= speed;
}
}
このコードの大部分は、同じ質問をしている別の人から実際に得たものです。他のトピックで提案されたことを実行しても、問題はまだ残っています。助けてくれてありがとう!