2D 플랫폼 게임을 만들고 있습니다. 충돌하는 데 문제가 있습니다. 내 캐릭터가 명중 할 때 플랫폼 위에 서있을 때 2.5 초 동안 그곳에 머무를 것이고 다른 모든 플랫폼을 통해 1 층으로 떨어질 것입니다. 내 중력 기능과 충돌 기능이 제대로 작동하지 않아 무언가를해야한다고 생각합니다. 어떤 도움을 주시면 감사하겠습니다.AS3 캐릭터가 플랫폼을 통과하여 충돌이 제대로 작동하지 않습니다.
이 = fireboy1
여기 내 문자 클래스에서 중력 코드입니다 :
public var gravity:int = 0;
public var floor:int = 461;
public function adjust():void
{
//applying gravity
this.y += gravity;
if(this.y + this.height <floor)
gravity++;
else
{
gravity = 0;
this.y = floor - this.height;
}
은 여기에 메인 클래스에서 내 충돌에 대한 코드입니다 :
이//collision detection of platform1
public function platform1Collision():void
{
if(fireboy1.hitTestObject(Platform1))
{
if(fireboy1.y > Platform1.y)
{
fireboy1.y = Platform1.y + Platform1.height;
}
else
{
fireboy1.y = Platform1.y - fireboy1.height;
}
}
try : if ((this.y + this.height)
tziuka
전혀 변경되지 않았습니다. ( –
그냥 물리 구조 프레임 워크를 사용하는 것이 훨씬 쉽습니다 .box2d 등처럼'adjust()'와'platform1Collision()'이 모든 프레임을 실행합니까? 이상적으로는 같은 함수에 있어야하고 충돌이 발생하면 중력을 사용해서는 안됩니다 ('this.y + = gravity'). 코드의 범위를 포함하도록 질문을 업데이트하십시오 (예 :'this'는 무엇입니까? 첫 번째 블록과 두 번째 코드 블록과의 관계는 무엇입니까? – BadFeelingAboutThis