캐릭터가 냄비에 부딪치게하려고하는데 계속 문제가 생깁니다.
내 코드는 현재 (업데이트 기능 내부에 있음) :
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
}
}
우선 엔티티의 위치를 변경하려면 해당 x
및 y
속성을 사용하십시오. 그래픽의 x, y는 오프셋 일뿐입니다.
둘째, 충돌을 확인하려면
if (collide("pot", x, y)) trace("killed by pot!");
두 번째와 세 번째 인수는 this
충돌을 확인하기 위해 엔티티가 배치되는 좌표 입니다. 가장 일반적인 경우는 엔티티의 새로운 위치를 확인하고 거기에 배치하지 않으면 일부 장애물과 충돌하는지 확인하는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다