私はフラッシュcs6でプラタフォームゲームを開発しようとしています。私は、Plataformaというクラスを作成しました。このクラスでは、そのクラスのプラットフォームがmarioと衝突したかどうかを確認するためにenterFrameEventsというメソッドが必要です。衝突が検出された場合でもマリオのトップを通ります(フラッシュCS6)
しかし、私は何をしても、マリオがトップに衝突したことを検出しますが、マリオはプラットフォームを通過します。しかし、ボトムと他の側面にぶつかるときは起こりません。
私は「plataforma」のシンボルのocorrencesある2つの青色のプラットフォームがある段階では私のコードhttps://www.4shared.com/rar/jqa5oRGWei/AULA_6.html
とのリンクを貼り付けています。クラスPlataformaは、 "plataforma"シンボルのためにフラッシュによって自動的に生成されるactionscriptクラスです。
ここで私は、コード
private function enterFrameEvents(event:Event):void{
if(this.hitTestObject(mario)){
// collision with top
if(mario.y + mario.height >= this.y && mario.y <= this.y &&
mario.x + mario.width >= this.x + 5 && mario.x <= this.x + this.width - 5){
_root.isJumping = false;
_root.speedY = 0;
mario.y = this.y - mario.height;
}
...
}
私はコーナーから5つのピクセルの割引思いを貼り付けています。
ありがとうございました!
私は思います。この** mario.y = this.y - mario.height; **アッププラットフォームを通して、あなたのマリオをテレポート。恐らく** mario.y = this.y; **であるべきです。 – Organis