몬스터가 움직이고 공격하는 Enemy 클래스가 있습니다. 그 클래스 안에서 나는 enemyMagic이라는 또 다른 클래스를 가지고 있습니다. 이것은 무비 클립이며 다른 무비 클립의 마스터 클래스 역할을합니다. 적들이 특정 위치를 공격 할 때 addChild의 X 및 Y 값과 함께
는 그래서 enemyMagic 클래스에, 나는public var attack1:Attack1 = new Attack1;
public function EnemyMagic() {
////////////CREATE THE TIMER//////////
masterEnemyAttackTimer.addEventListener(TimerEvent.TIMER, mastertimer);
////////////ATTACKS/////////
//TIER 1//
addChild(attack1);
}
attack1 그리고 적 클래스라는 무비 클립을 추가, 나는 enemyMagic를 추가합니다. 어떤 이유
for (var k:int = 0; k < Main.tileset.length; k++)
{
if (! Main.tileset[k].tileMiddle.hitTestObject(this.enemyVisionPoint))
{
if (Main.tileset[k].tileHP !== 0)
{
attackoptions.push(Main.tileset[k]);
}
if (Main.tileset[k].tileMiddle.hitTestObject(Main.player.visionPoint))
{
addChild(enemymagic);
Main.tileset[k].outline.gotoAndStop("attack");
this.enemymagic.x = (Main.tileset[k].x);
this.enemymagic.y = (Main.tileset[k].y);
trace(enemymagic.x, enemymagic.y, Main.tileset[k].x, Main.tileset[k].y);
는 enemymagic는 타일의 x와 y와 동일한 번호를 추적되지만 타일에 추가되지 않습니다. 그것은 화면 밖으로 그것을 추가합니다. 나는 그것이 적의 x와 y에서 시작해서 계산 된 것이기 때문에 그것이 가능할 것이라고 생각한다.
제 궁금한 점은 enemymagic 무비 클립을 어떻게 타일의 위치에 정확히 올릴 수 있습니까?
답변 해 주셔서 감사합니다. 명확히하기 위해 새로운 포인트를 만들어야합니다. 특정 x와 y 값을 넣어야합니까? 또한, 나는 암시 적 강제 변환 오류를 얻었는데, 나는 그것이 마법의 x 값이 PZERO와 잘 어울리지 않는다는 것을 추측합니다. 나는 아이를 Tile 클래스 자체에 추가하는 것을 고려했지만 적과 관련된 모든 것을 적에 넣는 것이 이상적이라고 생각했습니다. 고마워요! – Bindlestick
'public static const PZERO : Point = new Point(); 그러면 영점을 선언하는 방법입니다. 트릭은 타일의 영점 (디자인 타임의 앵커 포인트와 동일)은 일반적으로 타일의 왼쪽 위 또는 사각 중 하나입니다. 전자의 경우 타일의 중심과 동일하게 'PCENTER'를 선언합니다. 그리고 적을 추가하는 것에 대해 - 당신이 마법을 던지면서 적을 90도 왼쪽으로 회전시키는 것을 상상해보십시오. Bam, 당신의 마법은 더 이상 선택된 타일에 없습니다. 적 (총알, 마법, 부서진 부품 등)에서 벗어나는 순간, 적에게 addChild()하지 말고 모든 것을 보유하는 클래스에 추가하는 것이 좋습니다. – Vesper
확인. 나는 적을 매 10 초마다 움직 이도록 마술이 영향을받을 것입니다. 내 최선의 방법은 타일 또는 메인 클래스에 추가하는 것입니다. – Bindlestick