대화
BIDFSVSDVLKN님의 글에서 이어진 답글 0개
RPG 필수 조건 부드러운 HP바 안녕하세염 로봇디펜스 만들었는데 반응 좋아서 오늘부터 주전자에서 활동좀 하고 나갈랍니다. ㅎ(?) 짠지맨강좌냅니다. 그러면 HP바 동적테스트 3개만들어주세요 처음 윈쪽 변수는 최소HP 옆에있는변수는 최대 HP 가운데있는 큰 변수는 최대Hp와 최소Hp를 나누어서 100분율한겁니다. 이렇게 3개의 변수이름은 각각 HP바는 Hpbar hpx hpq hppp 라고 지어주세요 프레 임에 이액션을 주세요 ----------------------------------------- var hpq = 100; //hpq변수에 100을 담는다 var hpx = 100; //hpx변수에 100을 담는다 var hpp = hpx/hpq*100 //hppp변수에 hpx/hpq*100(hpx에 hpq를 나눠어서 100을 곱한갑) 이제 프레임액션은 끝났습니다. ---------------------------------------- HP바에 액션을 줄겁니다. HP바 클릭하고 F8를 눌러서 액션창을 킵니다. ----------------------------------------------------------------------------------------------------- onClipEvent (load) { //이 무비클립이 로드 될때 실행되는 이벤트 hpwjdqh = 0; //hpwjdqh에 0을 담는다 (지금 hp가 무슨상황인지 담는다) hpplus = 0.05; //hpplus에 0.05를 담는다(가속도내 수치) hppluss = 0.05; //(초기값 hpplus와 값을 똫같이 해줘야됩니다. hppluspeed = 0.03; //(가속도변수 올라가는 스피드) hpxq = _root.hpx; //(가상 최소hp변수) hpqq = _root.hpq; //(가상 최대 hp변수) } //로드 이벤트 닫음 onClipEvent (enterFrame) { //매프레임 fps속도 만큼 반복되는 이벤트 this._xscale = hpxq/hpqq*100; //이 무비클립 가로부피는 hpxq/hpqq*100 이된다 ( _root.hpx = Math.round(_root.hpx); //hpx변수에 소수점이 반올림된 hpx담는다(소수점 않보이게하기위해서) _root.hpq = Math.round(_root.hpq); //hpq변수에 소수점이 반올림된 hpq담는다(소수점 않보이게하기위해서) _root.hppp = Math.round(_root.hppp=(_root.hpx/_root.hpq*100))+"%"; //hppp변수에 백분율되서 소수점이 반올림된 hppp담는다 그리고 거기에 %문자를 더한다 (끝에 %가 있어야되겠죠?) if (_root.hpx>hpxq) { //만약에 hpx변수가 hpxq보다 크면 다음액션 실행 hpxq += hpplus; //hpxq는 hpplus만큼 추가된다 hpwjdqh = 1; //hpwjdqh에 1을 담는다 ( hpplus += hpplus+hppluspeed; //hpplus는 hpplus와 hppluspeed더한값이 추가된다. } //첫번째 if문 다음 if (_root.hpx hpqq) { hpqq += hpplus; hpwjdqh = 3; hpplus += hpplus+hppluspeed; } if (_root.hpq hpxq && hpwjdqh == 2) { hpxq = _root.hpx; hpplus = hppluss; hpwjdqh = 0; } if (_root.hpq hpqq && hpwjdqh == 4) { hpqq = _root.hpq; hpplus = hppluss; hpwjdqh = 0; } if (_root.hpx>_root.hpq) { //만약에 hpx변수가 hpq보다 크면 _root.hpx = _root.hpq; //hpx변수가 hpq변수가 된다.(최소hp가 최대hp넘지않도록 하기위한) } if (_root.hpx<=0) { //만약에 hpx가 0과 같거나 0보다 작으면 _root.hpx = 0; //hpx변수는 0이된다 (마이너스않되게)(이부분은 죽었을때 실행합니다.) } if (_root.hpq<=0) { _root.hpq = 0;//버그막기위한 } } 똫같은 문장은 뜻 않썼음.... 저기 if (_root.hpx<=0) { _root.hpx = 0; } 이부분은 _root.hpx = 0; 있는곳에 죽었을때 실행하는 거니까 if (_root.hpx<=0) { _root.hpx = 0; _root.gotoAndStop(2); } 이렇게하면 죽었을때 2프레임으로 갑니다.
하면 이 대화에 답할 수 있어요.