질문과 답변

Extra Form

게임을 만들면서 스크립트로 새창을 만드는 대신에

커먼이벤트를 이용해

변수별로 이미지를 불러와서 새창인것처럼 만들어서

새로운 상태창을 만들었습니다.

(스크립트를 거의 못다룹니다.)


그러니까 

화면 크기만한 그림을 동시에 25개정도 띄웠습니다.


이것까지는 문제가 없었는데 커먼이벤트가 끝난후. 


그림이 지워진이후에


게임 전체의 프레임이 떨어지면서 뚝뚝 끊깁니다.


이벤트가 발생하고 있는동안은 문제없는데 이벤트가 끝난이후에 


59~55사이를 왔다갔다하는군요.


찾아보니 이벤트끝에 스크립트로 


Graphics.frame_reset 를 넣어라 이런것도 있던데


그래도 끊기는건 여전합니다. 


더 큰문제는 여기서 세이브하고


다시 로드해도 렉이 여전하다는겁니다. 이벤트가 병렬로 계속되는것도아니고


단발성이벤트인데 게임플레이 전반에 영항을미치네요.


프레임이 55~59사이를 왔다갔다합니다.

(안움직이고 가만히있어도 왔다갔다합니다.)


프레임이 떨어지는 이유도 모르겠고 검색해봐도 뚜렷한해결법도 나오지않고 


합니다.


이동할때 깔짝깔짝 끊기는게 아무래도 프레임이 널뛰기를 해서 그런것 같은데요.


그래서 결론입니다.


-------------------------------------


아싸리 프레임을 55정도로 낮춰서 고정하고 싶습니다.


프레임이 널뛰기 하니까 테스트 하면서 속이 타네요.



-

근본적인 해결....책이 나온다면 더 감사하겠습니다만... 아무래도 힘들겠죠..?

Comment '8'
  • ?
    아이미르 2012.12.05 15:40
    혹시나 싶어서 하는 건데 이거 한번 써보심이 어떨까 싶네요.

    #==============================================================================
    # ■ VXAce_SP1
    #------------------------------------------------------------------------------
    #  pre-set 스크립트의 불편을 수정합니다. 유저 정의의 스크립트 소재는,
    # 원칙으로서 이 섹션보다 아래에 배치해 주세요.
    #==============================================================================

    #------------------------------------------------------------------------------
    # 【수정 내용】
    #------------------------------------------------------------------------------
    # ●이벤트 커멘드[스테이트의 변경]에서, 같은 스테이트의 부가와 해제를 동시에
    #실행 했을 때, 2회째 이후의 부가가 실패하는 불편을 수정했습니다.
    # ●이벤트 커멘드[애니메이션의 표시]에서, 표시중의 애니메이션이 막
    # 프의 스크롤에 동기 하지 않는 불편을 수정했습니다.
    # ●자동 전투의 행동이 정상적으로 선택되지 않는 불편을 수정했습니다.
    # ●장비 할 수 없게 된 장비품이 빗나간 것에 의해, 한층 더 다른 장비품이 장비 할
    #수 없게 되었을 때, 그 장비품이 증식 해 버리는 불편을 수정했습니다.
    # ●이벤트 커멘드[픽쳐의 소거]를 실행한 후에 여분의 부하가 걸리는 불편을
    # 수정했습니다.
    # ●이동 루트의 옵션[이동할 수 없는 경우는 날리는]에 체크를 넣은 상태로
    # 트리거[플레이어로부터 접촉]의 이벤트에 접촉하면(자), 이벤트가 실행중에서
    # 라고 해도 기동 예약이 되어 버리는 불편을 수정했습니다.
    # ●마법 반사된 스킬에 대해서 스테이트 유효도가 반영되지 않는 불편을 수정 섬 해
    #  .
    # ●폰트의 디폴트 설정에서 굵은 글씨 또는 이탤릭을 유효하게 하고 있어도, 스테이
    #터스 화면을 바꾸었을 때 등에 무효인 상태에 돌아와 버리는 불편을 수정했습니다.
    #------------------------------------------------------------------------------
    class Game_Battler
    attr_accessor :magic_reflection
    #--------------------------------------------------------------------------
    # ● 적대 관계의 판정
    #--------------------------------------------------------------------------
    alias vxace_sp1_opposite? opposite?
    def opposite?(battler)
    vxace_sp1_opposite?(battler) || battler.magic_reflection
    end
    end
    #------------------------------------------------------------------------------
    class Game_Actor
    #--------------------------------------------------------------------------
    # ● 장비 할 수 없는 장비품을 제외한다
    # item_gain : 제외한 장비품을 파티에 되돌린다
    #--------------------------------------------------------------------------
    alias vxace_sp1_release_unequippable_items release_unequippable_items
    def release_unequippable_items(item_gain = true)
    loop do
    last_equips = equips.dup
    vxace_sp1_release_unequippable_items(item_gain)
    return if equips == last_equips
    end
    end
    #--------------------------------------------------------------------------
    # ● 자동 전투시의 전투 행동을 작성
    #--------------------------------------------------------------------------
    def make_auto_battle_actions
    @actions.size.times do |i|
    @actions[i] = make_action_list.max_by {|action| action.value }
    end
    end
    end
    #------------------------------------------------------------------------------
    class Game_Player
    #--------------------------------------------------------------------------
    # ● 맵 이벤트의 기동
    # triggers : 트리거의 배열
    # normal : priority[통상 캐릭터와 같은]인가 그 이외인가
    #--------------------------------------------------------------------------
    alias vxace_sp1_start_map_event start_map_event
    def start_map_event(x, y, triggers, normal)
    return if $game_map.interpreter.running?
    vxace_sp1_start_map_event(x, y, triggers, normal)
    end
    end
    #------------------------------------------------------------------------------
    class Game_Picture
    #--------------------------------------------------------------------------
    # ● 픽쳐의 소거
    #--------------------------------------------------------------------------
    alias vxace_sp1_erase erase
    def erase
    vxace_sp1_erase
    @origin = 0
    end
    end
    #------------------------------------------------------------------------------
    class Game_Interpreter
    #--------------------------------------------------------------------------
    # ● 스테이트의 변경
    #--------------------------------------------------------------------------
    alias vxace_sp1_command_313 command_313
    def command_313
    vxace_sp1_command_313
    $game_party.clear_results
    end
    end
    #------------------------------------------------------------------------------
    class Sprite_Character
    #--------------------------------------------------------------------------
    # ● 위치의 갱신
    #--------------------------------------------------------------------------
    alias vxace_sp1_update_position update_position
    def update_position
    move_animation(@character.screen_x - x, @character.screen_y - y)
    vxace_sp1_update_position
    end
    #--------------------------------------------------------------------------
    # ● 애니메이션의 이동
    #--------------------------------------------------------------------------
    def move_animation(dx, dy)
    if @animation && @animation.position != 3
    @ani_ox += dx
    @ani_oy += dy
    @ani_sprites.each do |sprite|
    sprite.x += dx
    sprite.y += dy
    end
    end
    end
    end
    #------------------------------------------------------------------------------
    class Sprite_Picture
    #--------------------------------------------------------------------------
    # ● 전송원비트 맵의 갱신
    #--------------------------------------------------------------------------
    alias vxace_sp1_update_bitmap update_bitmap
    def update_bitmap
    if @picture.name.empty?
    self.bitmap = nil
    else
    vxace_sp1_update_bitmap
    end
    end
    end
    #------------------------------------------------------------------------------
    class Window_Base
    #--------------------------------------------------------------------------
    # ● 폰트 설정의 리셋트
    #--------------------------------------------------------------------------
    alias vxace_sp1_reset_font_settings reset_font_settings
    def reset_font_settings
    vxace_sp1_reset_font_settings
    contents.font.bold = Font.default_bold
    contents.font.italic = Font.default_italic
    end
    end
    #------------------------------------------------------------------------------
    class Scene_Battle
    #--------------------------------------------------------------------------
    # ● 마법 반사의 발동
    #--------------------------------------------------------------------------
    alias vxace_sp1_invoke_magic_reflection invoke_magic_reflection
    def invoke_magic_reflection(target, item)
    @subject.magic_reflection = true
    vxace_sp1_invoke_magic_reflection(target, item)
    @subject.magic_reflection = false
    end
    end
  • ?
    홍안 2012.12.05 15:51
    헐... 퍼펙트 . 사랑합니다. 결혼... 아 이게 아닌가.
    감사합니다. 번역기 돌려가며 외국포럼에서 이것저것 뒤지고있었는데 한방에 해결됬네요.
  • ?
    77이알 2012.12.05 17:07

    그거 문제는 기본 픽쳐 스크립트의 문제입니다.

    Sprite_Picture 의 update 부분에

    if self.bitmap != nil
    self.bitmap.dispose
    self.bitmap = nil
    end

    이렇게 해 주면 될껄요.

    불러온 bitmap이 제대로 삭제가 안 되는게 문제

  • ?
    홍안 2012.12.05 17:51
    답변감사합니다.

    def initialize(viewport, picture)
    super(viewport)
    @picture = picture
    update
    end

    요기 업데이트 밑에다가 넣는게 맞는지요?
  • ?
    77이알 2012.12.05 18:22
    #==============================================================================
    # ■ +++ MOG - ERASED PICTURE CORRECTION (V1.0) +++ 
    #==============================================================================
    # By Moghunter
    # http://www.atelier-rgss.com
    #==============================================================================
    # Corrige o bug de apagar a imagem do Rpg Maker VX Ace versão 1.00, esse
    # bug causa (pequenas travadas)lag após o usuário usar o comando apagar imagem,
    # o bug fica perceptível quando o usuário usa inúmeras imagens.
    #==============================================================================
    #==============================================================================
    # ■ Sprite Picture
    #==============================================================================
    class Sprite_Picture < Sprite
     #--------------------------------------------------------------------------
     # ● Update
     #--------------------------------------------------------------------------     
     alias mog_fix_picture_erased_update update
     def update
       return if picture_erased?  
       mog_fix_picture_erased_update
     end
     #--------------------------------------------------------------------------
     # ● Picture Erased?
     #--------------------------------------------------------------------------     
     def picture_erased?
       return false if @picture.name != ""
       if self.bitmap != nil
         self.bitmap.dispose
         self.bitmap = nil
       end
       return true 
     end
    end
    $mog_rgss3_picture_erased_correction = true




    그냥 위의 스크립트를 추가하셔도 되는데 SP1에 이 내용이 있네요
  • ?
    홍안 2012.12.05 19:30
    넵. 감사합니다.
  • ?
    허걱 2012.12.09 08:47
    답변달린 스크립트가 많아 헷갈릴 수도 있겠다 싶어서 한마디 적자면...
    아이미르 님께서 올려주신 공식 스크립트 하나만 새로 추가해 주시면 될것 같습니다.
    추가 위치는 Scene_Gameover 섹션 바로 아래쪽으로 추가해서
    기존 스크립트보다 아래쪽, 새로 추가될 스크립트들 보다 위쪽으로 위치하도록 해주세요.
  • ?
    홍안 2012.12.09 18:47
    감사합니다. 위치수정했습니다.

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12444
기타 !! 자료실의 게임 소재들이 안 보여요 !! 라스민트 2010.11.14 1547
RMVXA "그림의 이동"에 걸리는 시간을 변수로 대체할 수 있을까요? 3 file Roam 2012.11.26 1069
RMXP "마녀의 집" 게임 첫부분 처럼 화면 맵 이동하는 방법 2 허곰탱 2014.02.20 1327
RMVXA "메뉴>상태>캐릭터선택>상태창"에서 캐릭터 선택을 없애기 2 Refus 2015.06.18 317
게임찾기 "보코의 농장"이란 게임 갖고있는분 찾습니다 2 A.미스릴 2013.04.27 2223
RMXP "주인공과 어떤 이벤트와 눈이 마주쳤을 때" 라는 조건분기 어떻게 만드나요? 1 CJYG* 2011.06.29 1589
RMVXA "피격당할때" 조건문을 넣기 머그빵 2016.01.07 135
RMVXA #추격 #추적 #사망 #게임오버 에 대해서 가르쳐주세요 5 신이다1 2018.05.13 277
RMMV $gameScreen.showPicture 쓸려하는데 어떻게 써야하나요. 4 게임잘날아가는닝겐 2016.01.15 224
RMVX $game_party.item_number로 아이템 숫자가 호출이 안 되는데 뭐가 문제일까요? 1 MMM 2014.07.07 751
RMVXA $game_variables은 뭔가요? 스크립트에 적는거인건 아는데... 1 알만툴초보입니당 2017.03.02 100
RMVX $scene = Scene_ATB.new 이게 안됩니다 2 file 욕쟁이스님 2012.11.04 931
이벤트 작성 RMMV '데미지의 처리' 구현법이 있나요? 아무개 2021.03.26 43
플러그인 추천 RMMV "버튼 액션"?에 관한 질문입니다! 2 소랭소랭 2021.03.20 144
플러그인 사용 RMMV "특정이름을 입력했을 때 이벤트 발생하기" 질문입니다! 2 소랭소랭 2021.01.26 149
RMMV "파티원"의 옷을 갈아입히면 케릭터칩을 그 옷을 입은 칩으로 바뀌게 하고싶습니다. 4 만죠메군 2017.07.09 496
플러그인 추천 RMMV "히어로즈 오브 마이트 앤 매직"같은 형식으로 전투를 할수있게해주는 플로그인이 있을까요? file 희희낙낙 2019.10.06 80
RMVXA '(번역) 선택지에서 \를 사용시 공백발생현상 해결' 스크립트를 찾습니다. 3 카로 2012.12.20 877
RMVXA 'A값이 B값보다 클 경우'를 스크립트로 어떻게 표현하죠? 2 게임잘날아가는닝겐 2015.09.19 169
RMVX 'rpg 쯔꾸르 vx'에서 한국 노래가 bgm으로 써지지 않습니다. 2 마런마 2014.01.14 1330
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 516 Next
/ 516