예를 들자면
5번 변수에 1이 대입된 경우에는 타일세트에 해골그림이 불러와 지고
2가 대입된 경우에는 슬라임이 대입되게 하고 싶습니다.
그래서 제가 추가적으로 만들어본 메소드는 이것입니다.
def create_monster
case $game_variables[5]
when 1
@monster = Sprite.new(@viewport1)
@monster.bitmap = Bitmap.new("Graphics/Battlers/Skeleton")
@monster.x = 0
@monster.y = 0
@monster.update
when 2
@monster = Sprite.new(@viewport1)
@monster.bitmap = Bitmap.new("Graphics/Battlers/Slime")
@monster.x = 0
@monster.y = 0
@monster.update
end
end
하지만 이 메소드를 만들고 생성자에 create_monster를 입력한 후 변수를 조작해도 맵 상에는 아무런 변화가 없었습니다.
반면에, case when 구문을 쓰지 않고 곧바로
def create_monster
@monster = Sprite.new(@viewport1)
@monster.bitmap = Bitmap.new("Graphics/Battlers/Skeleton")
@monster.x = 0
@monster.y = 0
@monster.update
end
를 사용할 경우에는 아무 문제 없이 맵에 해골그림이 표시가 됩니다.
솔직히 말씀드려, 어디가 잘못된 것인지 감이 잡히질 않습니다.
- 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
- 하나의 게시물에는 하나의 질문만 합니다.
- 제목은 질문의 핵심 내용으로 작성합니다.
- 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
- 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
- 답변받은 게시물은 삭제하지 않습니다.
- 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
- 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!
※ 미준수시 사전경고 없이 게시물을 삭제합니다.