자유게시판

// 캐릭터의 스테이트를 정의 //
void Char_State(Base_Character &chara)
{
 if (!chara.isJumpEnd);
 else if (KEY_DOWN(VK_SPACE)) // 스페이스 키 : 점프
 { chara.state = JUMP;   
  if (KEY_DOWN(VK_RIGHT)) chara.state = JUMP_RIGHT;  // 동시에 눌린 경우 : 우방점프
  else if (KEY_DOWN(VK_LEFT)) chara.state = JUMP_LEFT; // 동시에 눌린 경우 : 좌방점프
  Last_Frame_Jump = Frame; chara.isJumpEnd = false;} //점프 시도한 프레임을 저장.(lastframejump)
 else if (KEY_DOWN(VK_RIGHT)) // 오른쪽 화살표 키
 { chara.state = MOVE_RIGHT; chara.Way_4 = MOVE_RIGHT;
  if (chara.isMoveRightEnd) { chara.isMoveRightEnd = false; if (!chara.isDash) chara.Last_Frame_Move_RIGHT = Frame; }
  if (KEY_DOWN(VK_SPACE))  chara.state = JUMP_RIGHT;}
 else if (KEY_DOWN(VK_LEFT) )  // 왼쪽 화살표 키
 { chara.state = MOVE_LEFT; chara.Way_4 = MOVE_LEFT;
  if (chara.isMoveLeftEnd) { chara.isMoveLeftEnd = false; if (!chara.isDash)  chara.Last_Frame_Move_LEFT = Frame; }
  if (KEY_DOWN(VK_SPACE))  chara.state = JUMP_LEFT; }
 else { chara.state = NONE; chara.isDashEnd = true; chara.isMoveRightEnd = true; chara.isMoveLeftEnd = true; }// chara.Speed = 3;
 
 // 대쉬시 스피드. 수정요망 //
 if (!chara.isDashEnd) chara.Speed = 5; else chara.Speed = 2;
 
 // 대쉬플래그 세우기 (우로) : 한번 우키 입력 / 끊김 / 20프레임내 다시 입력 //
 if (chara.Last_Frame_Move_RIGHT > 0) // 만약 라스트 프레임이 0보다 크다면!
 { if (Frame - chara.Last_Frame_Move_RIGHT >= 1 && Frame - chara.Last_Frame_Move_RIGHT <= 6) 
  if (!KEY_DOWN(VK_RIGHT)) //만약 프레임차이가 20보다 작을때 오른쪽 키가 안눌려졌다
  chara.isDash = true;  //그러면 대쉬 플래그가 선다 
  if (chara.isDash)   // 안눌려진 후 12프레임 안에 다시 눌렸을때 그리고 다시 안눌렸을때 플래그 조절
  { if (Frame - chara.Last_Frame_Move_RIGHT <=12) 
  { if (KEY_DOWN(VK_RIGHT)) { chara.isDashEnd = false; chara.isDash = false; chara.Last_Frame_Move_RIGHT = 0;} }
   else {chara.isDash = false; chara.isDashEnd = true; chara.Last_Frame_Move_RIGHT = 0;} }
 }

 // 대쉬플래그 세우기 (좌로) : 한번 좌키 입력 / 끊김 / 20프레임내 다시 입력 //
 if (chara.Last_Frame_Move_LEFT > 0) // 만약 라스트 프레임이 0보다 크다면!
 { if (Frame - chara.Last_Frame_Move_LEFT >= 1 && Frame - chara.Last_Frame_Move_LEFT <= 6) 
  if (!KEY_DOWN(VK_LEFT)) //만약 프레임차이가 20보다 작을때 오른쪽 키가 안눌려졌다
  chara.isDash = true;  //그러면 대쉬 플래그가 선다 
  if (chara.isDash)   // 안눌려진 후 12프레임 안에 다시 눌렸을때 그리고 다시 안눌렸을때 플래그 조절
  { if (Frame - chara.Last_Frame_Move_LEFT <=12) 
  { if (KEY_DOWN(VK_LEFT)) { chara.isDashEnd = false; chara.isDash = false; chara.Last_Frame_Move_LEFT = 0;} }
   else {chara.isDash = false; chara.isDashEnd = true; chara.Last_Frame_Move_LEFT = 0;} }
 }
}

 

 

// 캐릭터 초기화 //
void Init_Char(Base_Character &chara)
{
   chara.positionX = 0;  chara.positionY = 0; chara.Speed = 2;   chara.isCols = false;
   chara.Large_X = 23;  chara.Large_Y = 32; chara.Way_4 = MOVE_RIGHT; chara.state = NONE;
   chara.isMove = false; chara.isDash = false; chara.isJumpEnd = true;  chara.isMoveRightEnd = true;
   chara.isMoveLeftEnd = true;     chara.isDashEnd = true;
   chara.STREN = 5;   chara.INDUR = 4;  chara.VITAL = 5;  chara.LEVEL = 1;
   chara.EXP = 0;   chara.HP = 100;  chara.MP = 50;
   chara.ATK = chara.STREN*10; chara.DEF = chara.INDUR*10; chara.SPI = 10;
   chara.Last_Frame_Move_LEFT = 0; chara.Last_Frame_Move_LEFT = 0;
}

// 무기에 대한 정보 //
void Init_Weapon(Base_Weapon &weapon)
{
 weapon.Attack_Range_X = 0; weapon.isSwing = 0; weapon.positionX = 0; weapon.positionY = 0;
 weapon.Speed = 0;   weapon.state   = 0;
}

// 적에 대한 정보 //
void Init_Enemy(Base_Enemy &enem) // 적1
{
   enem.positionX = (VGfloat)Full_Screen_X-300;  enem.positionY = 0; enem.Speed = 2;    enem.isCols = false;
   enem.Large_X = 23;  enem.Large_Y = 32;  enem.Way_4 = MOVE_RIGHT; enem.state = NONE;
   enem.isMove = false;  enem.isDash = false; enem.isJumpEnd = true;  enem.isDmgdEnd = true;
   enem.STREN = 5;   enem.INDUR = 4;  enem.VITAL = 5;  enem.LEVEL = 1;
   enem.EXP = 0;   enem.HP = 100;   enem.MP = 50;
   enem.ATK = enem.STREN*10; enem.DEF = enem.INDUR*10; enem.SPI = 10;
}

void Init_Enemy_2(Base_Enemy &enem) // 적2
{
   enem.positionX = (VGfloat)Full_Screen_X-220;  enem.positionY = 0; enem.Speed = 2;    enem.isCols = false;
   enem.Large_X = 23;  enem.Large_Y = 32;  enem.Way_4 = MOVE_RIGHT; enem.state = NONE;
   enem.isMove = false;  enem.isDash = false; enem.isJumpEnd = true;  enem.isDmgdEnd = true;
   enem.STREN = 5;   enem.INDUR = 4;  enem.VITAL = 5;  enem.LEVEL = 1;
   enem.EXP = 0;   enem.HP = 100;   enem.MP = 50;
   enem.ATK = enem.STREN*10; enem.DEF = enem.INDUR*10; enem.SPI = 10;
}

// 충돌체크 //
bool Check_Cols_Fscreen(Base_Character &chara) // 전체화면 충돌 체크
{ if (chara.positionX > Full_Screen_X-50) {chara.isCols = true;}
 else if (chara.positionX < 0)   {chara.isCols = true;}
 return chara.isCols;
}
// 충돌 체크 //
VGfloat  Cols_Fscreen_Solve(VGfloat positionX, bool isCols)
{ return positionX; }

 

Who's 시트르산

?

제작중인 게임 :

Midnight Blue  (미드나잇 블루) - RPGXP

 공동제작 : 휘파람개비님

 시스템 : 45%, 스토리 : 10%, 맵 : 3%, 제작 : 1%

 CG : 2%         총 진행도 : 3%

 

 이번 게임은 공동제작인 만큼 최선을 다하겠습니다 ^^

기다려주세요~~

Comment '2'
  • profile
    하늘바라KSND 2010.11.29 23:19

    이런건 강좌에 올리시는게 어떠실런지...

  • profile
    we0 2010.11.30 16:01

    정말 유용하군요.

    이것의 장점은

    아방스의 사용법을 모르고 막게라는 곳의 도착한 초보자들한테는 유용하네요.

    단점

    너무 흔하ㄷ..<=퍽 열심히 노력한분에게 이게 무슨 말버릇이야!

     


List of Articles
분류 제목 글쓴이 날짜 조회 수
공지 아방스 게시물 · 댓글 작성 규칙 (최근 수정일 2015.11.25) 17 file 완폐남™ 2012.07.17 41177
막장 밤샜습니다 8 JACKY 2013.10.08 406
막장 훗..... 2 Alkaid 2013.10.07 711
막장 본격 마약(과 동급)제작사이트 아방스! 8 2013.10.07 713
막장 허허.. 저는 함께 게임만들 운명이 아닌가봅니다 6 이룩 2013.10.05 620
막장 과거와 만나다 2 JACKY 2013.10.05 385
막장 RMXP 에서 RGSS3 사용하기 [RMVXA 의 속도로 RMXP를 돌리기] 13 file JACKY 2013.10.05 1811
막장 심심하구나... 4 file 류네 2013.10.04 556
막장 광고 테러 빠른처리 감사합니다. 5 file 미루 2013.10.03 956
막장 각시탈 쓰고 휴대폰매장 턴 17살 남성 3명 구속 9 file 파치리스 2013.10.03 684
막장 롤신병자는 위험합니다. 15 2013.10.03 858
막장 FF7 PC판에 모드를 적용하면 신세계가 열립니다. 5 Alkaid 2013.10.03 2358
막장 나 네이버 붐베갔던 그림 4 file 조석진 2013.10.03 671
막장 죽고싶네요 3 JACKY 2013.10.02 470
막장 노트북이 아직 뭔가 이상하네요 2 JACKY 2013.10.02 478
막장 브금유)으아아아아! 2 하늘바라KSND 2013.09.30 633
막장 J. Pachelbel - Canon in D 3 Alkaid 2013.09.30 648
막장 유튜브 동영상 - 레고로 만든 하프시코드 2 Alkaid 2013.09.29 356
막장 [윈도우 7]갓모드 1 스리아씨 2013.09.28 565
막장 부초 님이 올린 슬라임 그림을 보고 9 file Omegaroid 2013.09.27 710
막장 미디음은 음원 고르기 나름... 4 Alkaid 2013.09.24 536
목록
Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 64 Next
/ 64