안녕하세요.이 모든 것을 수행하는 데 약간의 문제가 있습니다. 삶을 추가하고 무대에 동적 텍스트 필드를 통해이를 표시하는 방법을 알고 있습니다. 내 게임은 지금 일어나는 곳과 플레이어가 라이브 감소로 죽을 때마다 올바르게 작동하므로 제대로 작동합니다.게임에서 플레이어 생활을 표시하는 방법 AS3
하지만 저는 모두 3의 이미지를 표시하고 싶습니다. 수명을 표현하기 위해 플래시 CS6에서 그린 사용자 정의 무비 클립을 사용하고 있습니다. 따라서 모든 3 명의 생명이 게임에 표시되고 플레이어가 생명을 잃으면 이미지가 제거됩니다.
나는 무엇을해야할지에 대해 알고 있습니다. 예를 들어, "for 루프"를 만들어 화면에 3 개의 이미지를 모두 표시하고 변수를 만들어 가로로 30 픽셀 간격으로 나란히 배치했습니다.
그러나 이것이 올바른 접근 방법인지 확실하지 않습니다. 플레이어가 죽을 때 이미지 중 하나를 제거하는 방법에 대해 혼란 스러울 수도 있습니다. 내 메인 클래스의 엔진에서
public var playerLives:mcPlayerLives;
private var nLives:Number = 3;
private var startPoint:Point;
private var aPlayerLivesArray:Array;
:
그녀는 지금까지 내 코드입니다
aPlayerLivesArray = new Array;
addPlayerLivesToStage();
그런 다음 addplayerlivestostage 기능 : 그래서
public function addPlayerLivesToStage():void
{
var startPoint:Point = new Point((stage.stageWidth/2) - 300, (stage.stageHeight/2) - 200);
var xSpacing:Number = 30;
for (var i = 0; i < nLives; i++)
{
trace(aPlayerLivesArray.length);
playerLives = new mcPlayerLives();
stage.addChild(playerLives);
playerLives.x = startPoint.x + (xSpacing * i);
playerLives.y = startPoint.y;
aPlayerLivesArray.push(playerLives);
}
}
내가 모든 작품 위의 언급처럼 벌금을 부과하고 삶을 나타내는 3 개의 이미지를 나타내지 만 이것이 올바른 접근 일 수 있습니까? ch 또는 쉬운 방법이 있습니까?
도움 주셔서 감사합니다. 하지만 여전히 약간의 혼란 스러움이 있습니다. 즉 "checkPlayerHitShark"라는 내 gameloop이 있는데, 플레이어가 상어를 치는지 확인하기 위해 히트 테스트를합니다. 그래서 플레이어 훅이 상어를 치면 생명이 1 씩 감소하기를 원합니다. 그래서 당신은 내가 nLives가 필요하다는 것을 알았습니다 -; for 루프와 함께 사용하는 방법은 정확히 알 수 없습니다. 그것의 이미지를 제거하지 않는 것이 화면에 있습니다. 그것은 그것을 감소시킵니다. 내가 "Checkplayerhitshark"함수에서 라이브 콜을 제거하는 위에서 언급 한 것과 같은 별도의 함수를 만들어야합니까? – Nathan
괜찮습니까? 그냥 화면에서 동영상 클립 이미지를 삭제하는 방법을 알아 내야합니다. 무언가를 시도하십시오. – Nathan
예, 생명을 없애기 위해 다른 기능을 사용해야하는 것이 좋습니다. 그러나 내 구현에 생명을 추가하기 위해 다른 기능을 사용할 필요는 없습니다. 그러나 추가하고 제거하는 데 하나의 함수 만 사용하려면 실제로 "너무"적절하지는 않지만 괜찮습니다 ... nLives를 1 줄이고 livesArray의 모든 요소를 제거하고 livesArray.length = 0; 당신은 자신의 기능을 사용하여 다시 생명을 추가 할 수 있습니다. 즉, 살아있는 것처럼 보이게하지만 실제로는 모든 생명이 제거되고 새로운 nLives 값에 의해 다시 추가됩니다. –