私は少しの間フラッシュをいじっていました。通常は問題をかなり迅速に解決しますが、この問題で数日間立ち往生しています。グーグルは役に立ちませんでした。フラッシュについてよく知っている友人もいません。 .
それで、私は基本的な 2D プラットフォームの作成に取り組んできました。キャラクターと bg.hitTestPoint にポイントを実装する方法を理解するのに問題があります。現状では、ポイントとすべてを作業する前は、正常に機能していました. オブジェクト (この場合は壁) との衝突と見なされたときに通知するために、トレースが入っています。
キャラクターの寸法:
上部中央: (42,0)
ボット中央: (42,112)
R. 中央: (84,56)
L. 中央: (0,56)
合計画像: 84 x 112 (px)
画面上のキャラクターの位置:
上部中央: (46, 460)
ボット中央: (46, 379)左中央
: (20, 440)
右中央: (80,420)
ブロックは次のとおりです。
バンプ/衝突変数:
var leftB:Boolean = false;
var rightB:Boolean = false;
var topB:Boolean = false;
var botB:Boolean = false;
var topBPt:Point = new Point(42, 0);
var botBPt:Point = new Point(42, 112);
var leftBPt:Point = new Point(0, 56);
var rightBPt:Point = new Point(84, 56);
hitTestPoint ブロック: (スペースを節約するために、一番上のブロックだけを実行します。)
if(bg.hitTestPoint(fag.x + topBPt.x, fag.y + topBPt.y, true))
{
trace("Top Bump works.");
topB = true;
}
else
{
topB = false;
}
if(topB)
{
if(ySpeed < 0)
{
ySpeed *= -0.5;
}
}
異なる次元を使用しようとしましたが、読んでいたサイトの完全な説明を理解していなかった可能性がわずかにあります.
また、hitTestObject を作成し、壁の各部分を手動で異なるものにすることで回避できると感じています...しかし、それが効率的または合理的であるとは思いません。
助けてくれてありがとう。