클릭 할 때마다 action-script 3을 사용하여 bullet이라는 자식을 만듭니다. 그것은 내가 처음 클릭 할 때 작동하고 글 머리 기호 x 속도에 1을 더하여 움직일 수 있습니다. 그러나 새 아이를 추가하기 위해 다시 클릭하면 내가 추가 한 새 아이가 움직이지 않습니다. 어떤 도움을 주셔서 감사합니다!이전에 생성 된 자식을 이동합니다.
0
A
답변
1
답변을 찾았습니다. 배열에 추가 한 다음 'arrayname'[b] .x + = 1을 사용하여 이동하십시오!
0
새 개체를 만들고 이전 참조로 가져 가면 개체에 대한 참조가 손실되었습니다. 당신은 배열에서 레퍼런스를 유지해야합니다. 그렇지 않으면 더 나은 방법은 당신을위한 새로운 클래스를 만들어서 그 동작을 캡슐화하는 것입니다. 그런 다음 클래스의 객체를 생성하면 클래스 자체가 움직입니다.
0
다음과 같이하십시오.
나는 두 사람과 함께 방 안으로 들어갑니다. 하나는 존 스미스이고 하나는 존 로빈슨입니다. 당신은 나에게 컵케익을 주면서 "이걸 존에게 주시겠습니까?"하고 즉시 떠나십시오. 나는 당신이 어떤 요한인지 전혀 모른다. 그래서 나는 단지 그것을 John Smith에게 준다.
이 글 머리표 모두 bullet
의 이름을 지정하려고하면 AS3은 그 중 하나만 "bullet
"이라는 이름으로 기억합니다. 이름은 하나의 객체 만 참조 할 수 있습니다. 대신 모든 글 머리 기호가 포함 된 배열을 만들고 모든 글 머리 기호에 대해 필요한 작업을 수행 할 때마다 배열의 모든 항목에 액세스합니다. 새로운 총알을 만들 때마다
var bulletArray:Array = []
function updateBullets() {
//repeat an action for every item in bulletArray
for (var i=0;i<bulletArray.length;i++) {
var targetBullet = bulletArray[i]
targetBullet.x += 1
//anything else we want to do goes here
}
}
이제, 또한이 bulletArray
에 추가!