Flashpunk 충돌 문제

Ducktor

캐릭터가 냄비에 부딪치게하려고하는데 계속 문제가 생깁니다.

내 코드는 현재 (업데이트 기능 내부에 있음) :

        if (collide("Pot",MyWorld.Pot.graphic.x,MyWorld.Pot.graphic.y))
        {
            trace("HUH!?")
            // Player is colliding with a "bullet" type.
        }

"HUH ?!"를 추적하지 않습니다. 내가 냄비에가더라도. 80, 80 (냄비 위치)에 캐릭터를 만들어 보았습니다.

0,0을 입력하면 작동하는데 왜 80,80이 아닐까요?

냄비의 히트 박스는 36x34 (스프라이트 맵의 프레임 크기)입니다.

다음은 냄비에 대한 코드입니다 (별도의 클래스 내부).

공용 클래스 Po extends Entity {

[Embed(source = "../img/28x29.png")]

public var PotImage:Class;

public var sprPot:Spritemap = new Spritemap(PotImage,36,34)

public function Po(xP:Number,yP:Number)
{
    sprPot.add("Break",[0,1],2,false)
    graphic = sprPot
    graphic.x = xP
    sprPot.unlock()
    setHitbox(36,34)
    type = "Pot"
    graphic.y = yP
}

}
로스 토크

우선 엔티티의 위치를 ​​변경하려면 해당 xy속성을 사용하십시오. 그래픽의 x, y는 오프셋 일뿐입니다.

둘째, 충돌을 확인하려면

if (collide("pot", x, y)) trace("killed by pot!");

두 번째와 세 번째 인수는 this충돌을 확인하기 위해 엔티티가 배치되는 좌표 입니다. 가장 일반적인 경우는 엔티티의 새로운 위치를 확인하고 거기에 배치하지 않으면 일부 장애물과 충돌하는지 확인하는 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사