2016-12-04 4 views
1

대학에서 스크립팅 및 대화 형 웹 모듈 용 게임을 만들고 있는데 내 강점이 아닙니다.Action Script 3.0의 변수 제한

나는 현재 해적선이 있으며, 왼쪽과 오른쪽으로 이동하고 속도를 높이고 느려지도록 코딩되어 있습니다. 그러나 속도를 제한하고 속도를 낮추는 방법을 모르겠습니다.

현재 선박은 전진 및 후진 모두 무한대로 빠르게 이동할 수 있습니다. 이것을 막는 방법에 대한 조언은 크게 감사 할 것입니다, 감사합니다! 여기

코드입니다 : 그것은 될 경우

stage.focus = stage; 
//controlling victory 
stage.addEventListener(KeyboardEvent.KEY_DOWN , victoryController); 
function victoryController(evt:KeyboardEvent){ 
    var aPress=String.fromCharCode(evt.charCode); 
    if (aPress=="a"){victory.rotation-=1;} 
    if (aPress=="d"){victory.rotation+=1;} 
    if (aPress=="w"){victorySpeed+=0.5;} 
    if (aPress=="s"){victorySpeed-=0.5;} 
    if (aPress=="A"){victory.rotation-=1;} 
    if (aPress=="D"){victory.rotation+=1;} 
    if (aPress=="W"){victorySpeed+=0.5;} 
    if (aPress=="S"){victorySpeed-=0.5;} 
} 

답변

0

어떤 속도에 대한 경우, 당신이 한 일

var MaxVictorySpeed = 100; 

// ... 

if ((aPress=="w") && (victorySpeed < MaxVictorySpeed)){ 
    victorySpeed+=0.5; 
} 

같은 등등, 새 값을 설정하기 전에, 당신은 확인하실 수 있습니다 의도 한 범위를 벗어났다.

+0

절대적인 매력을 일했습니다! 성급한 응답을 주셔서 감사합니다, 정말로 도움을 주셔서 감사합니다! – SamPortsmouth

+0

환영합니다. :) 게임에서 이것은 매우 중요하지 않을 수도 있지만,이 예에서'MaxVictorySpeed'는 오도 된 것일 수 있습니다. 증분 (현재 0.5)에 따라 실제 도달 가능한 값의 최대 값 (현재 100)과 초기 값 (가정 할 경우 0)은 최대 값보다 많을 수 있습니다. 극단적 인 경우에는 max를 37로 설정하고 increment를 예를 들어 9로 설정하는 것이 좋습니다. 값은 9, 18, 27, 36과 같을 것입니다. 이는 여전히 37 미만이므로 45에 도달 할 수 있습니다. 더 정확하게 말하십시오. :) 이것을 극복하기 위해 if에서 이미 증가 된 값을 볼 수 있습니다. :) –