本文介绍了则hitTest或hitTestObject检测与AS3多个物体的碰撞?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我工作的一个小游戏,我想,以检测球员相撞的被放置在舞台上的一个箱子。什么是做到这一点的最好方法,则hitTest hitTestObject ?我的code:

  VAR hitTestClips:数组= [在smallBox,mediumbox,bigbox] //更多的惊喜

    VAR FPS = 60;
    VAR moveTimer:定时器=新的定时器(1000 / fps)的;

    moveTimer.addEventListener(TimerEvent.TIMER,onMoveTimer);
    moveTimer.start();

    功能onMoveTimer(E:TimerEvent){
    player.x + = Math.round(1)

    对于(VAR球员:影片剪辑中hitTestClips)
    {
      如果(player.hitTest(this.x,this.y,真))
      {
        跟踪(打);
      }
    }

    }
 

解决方案

您可以通过敌人的对象回路,并使用hitTestObject,看是否发生了碰撞。

  VAR hasCollision:布尔= player.hitTestObject(敌人);
 

本页面描述了这等各种方式: AS3碰撞检测

I'm working on a small game and I would like to detect if the player collided with one of the boxes that are placed on the stage.What is the best method to do this, hitTest or hitTestObject?My code:

var hitTestClips:Array = [smallbox, mediumbox, bigbox] //more to come

    var fps = 60;
    var moveTimer:Timer = new Timer(1000/fps);

    moveTimer.addEventListener(TimerEvent.TIMER, onMoveTimer);
    moveTimer.start();

    function onMoveTimer(e:TimerEvent){
    player.x += Math.round(1)

    for(var player:MovieClip in hitTestClips)
    {
      if(player.hitTest(this.x, this.y, true))
      {
        trace("HIT");
      }
    }

    }
解决方案

You can loop through the enemy objects and use hitTestObject to see if a collision occurred.

var hasCollision:Boolean = player.hitTestObject( enemy );

This page describes this and various other methods: AS3 Collision Detection

这篇关于则hitTest或hitTestObject检测与AS3多个物体的碰撞?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-18 17:37