그래서 AS2.0에서 게임을하고 있습니다. 움직일 수있는 스퀘어를 제어하고 벽이나 레벨 리셋을 건드리지 않아야하고 초기 위치로 돌아갑니다. 나는 그것을 할 수 있었지만 각 벽면에 대해 If를 만들어야하고 복사/붙여 넣기를하더라도 더 큰 레벨에 도달하면 영원한 작업이 될 것입니다. 같은 시간에 여러 객체를 히트 테스팅하는 방법이 있습니까? DAS2.0에서 여러 객체를 동시에 테스트하는 방법은 무엇입니까?
on(keyPress "<Left>") {
this._x -= 5;
}
on(keyPress "<Right>") {
this._x += 5;
}
on(keyPress "<Down>") {
this._y += 5;
}
on(keyPress "<Up>") {
this._y -= 5;
}
onClipEvent(EnterFrame) {
if (_root.square.hitTest(_root.wall)) {
_root.touch._Alpha = 100;
this._x = _root.x0;
this._y = _root.y0;
}
if (_root.square.hitTest(_root.wall1)) {
_root.touch._Alpha = 100;
this._x = _root.x0;
this._y = _root.y0;
}
if (_root.square.hitTest(_root.wall2)) {
_root.touch._Alpha = 100;
this._x = _root.x0;
this._y = _root.y0;
}
if (_root.square.hitTest(_root.goal)) {
_root.gotoAndStop(3);
}
}
는 광장의 행동에 이루어집니다 : 당신이 그것을 필요로하는 경우에 감사는 - 당신은 여기 내 코드입니다 .
니스! 감사.그런데, 몇몇 경우에는 _root를 사용해야했습니다. 예를 들어 프레임 전환과 히트 테스트가 그렇지 않은 경우 충돌하기 때문입니다. 또한, 나는 "분명히 '독단적 인'충고 '가 매우 도움이된다는 것을 발견했다 : D – OrangeWall