질문과 답변

Extra Form

  • 2번 사진의 '전투메뉴'를 1번 사진의 '회전전투메뉴'방식으로 바꾸고자 노력했습니다..
  • 여러 곳을 다니며, 회전 전투 방식에 대한 스크립을 모아봤지만, 날짜가 만료돼 자료를 찾기 힘듭니다.
  • 그래서 생각한것이, 전투메뉴의 좌표만 원형으로 바꾸면 되지 않을까? 하는 생각에 스크립을 건들다 어려움이 생겼습니다.

질문. 전투 방식은 SRPG 방식을 고수하는데, 전투씬에서 '회전전투메뉴' 시스탬을 도입하고 싶습니다.
지식을 나눠주세요!
Comment '6'
  • ?
    lud 2015.08.09 14:29
    사용중인 SPRG 스크립트에서 지원해 주는게 아니라면 직접 만들어야 할듯 하네요
    제작의뢰 게시판 같은곳에서 의뢰해 보세요^^;
  • ?
    mintory 2015.08.09 16:53
    답변 감사합니다 ^^;
    제가 직접 해보고 싶어서...
  • ?
    lud 2015.08.09 18:43

    직접 해보고 싶다면.. 그림의 표시로 그림을 선택해 주면 될듯 합니다.
    변수에 따라서 메뉴를 정렬해 주고 각 변수로 좌표를 계산해서 그림을 띄워줄 수 있겠죠.;

  • ?
    mintory 2015.08.10 05:25
    스크립트 해석하는데만 시간이 엄청 걸리네요.. OTL
    온통 일본어로 되어 있어서.. 흐음..

    궁금한게 있는데요!

    현재, 네모난 전투메뉴에 대한 스크립이 속해있는 메뉴를 여쩌봐도 될까요?
  • ?
    lud 2015.08.11 00:56
    네모난 전투메뉴에 대한 스크립(스크립트..겠죠?)이 속해있는 메뉴...라는게 뭔소린지 모르겠어요;;
    현재 SRPG 스크립트를 추가해서 사용중이신듯 한데...
    추가한 부분에서 새로 만들어준 부분이 있을겁니다.
    보통 위와같은 경우는 Window_Command 를 이용해서 만들어 줄듯 하네요.
  • profile
    게임잘날아가는닝겐 2015.08.11 16:38
    module PLAN



    # 원점 설정

    X = Graphics.width/2

    Y = Graphics.height/2 + 120



    # 원점과의 거리

    DIST = 80



    end



    #==============================================================================

    # ** Rotate_Title

    #------------------------------------------------------------------------------

    #

    #==============================================================================



    class Scene_Title < Scene_Base

    alias xxxx_create_command_window create_command_window

    alias xxxx_start start

    alias xxxx_terminate terminate



    #--------------------------------------------------------------------------

    # * 시작

    #--------------------------------------------------------------------------

    def start

    xxxx_start

    @pi = Math::PI

    @max = 1

    @rotate_up,@rotate_down = false, false

    @origin = [PLAN::X,PLAN::Y]

    @r,@angle = 3,@pi/1.5

    @call = false

    make_method

    down(true,false) if DataManager.save_file_exists?

    2.times { up(true,false) } if !DataManager.save_file_exists?

    end

    #--------------------------------------------------------------------------

    # * 제거

    #--------------------------------------------------------------------------

    def terminate

    xxxx_terminate

    dispose_method

    end

    #--------------------------------------------------------------------------

    # * 업데이트

    #--------------------------------------------------------------------------

    def update

    super

    update_method if @bText

    up(Input.trigger?(:UP)) if Input.repeat?(:UP)

    down(Input.trigger?(:DOWN)) if Input.repeat?(:DOWN)

    select_menu if Input.trigger?(:C)

    end

    #--------------------------------------------------------------------------

    # * 메뉴 선택

    #--------------------------------------------------------------------------

    def select_menu

    if @call == false

    case menu_index

    when 0; command_new_game;

    when 1; command_continue;

    when 2; command_special_menu;

    when 3; command_shutdown

    end

    @call = true

    end

    end

    #--------------------------------------------------------------------------

    # * 왼쪽

    #--------------------------------------------------------------------------

    def up(wrap = false,sound = true)

    if wrap

    Sound.play_cursor if sound

    @rotate_up = true

    @rotate_down = false

    @max -= @pi/2

    end

    end

    #--------------------------------------------------------------------------

    # * 오른쪽

    #--------------------------------------------------------------------------

    def down(wrap = false, sound = true)

    if wrap

    Sound.play_cursor if sound

    @rotate_up = false

    @rotate_down = true

    @max += @pi/2

    end

    end

    #--------------------------------------------------------------------------

    # * 메뉴 위치 업데이트

    #--------------------------------------------------------------------------

    def update_method

    @angle += @pi/26 if @rotate_down && !@rotate_up && @angle < @max+@pi/1.5

    @angle -= @pi/26 if !@rotate_down && @rotate_up && @angle > @max-@pi/1.5

    move(@text1,@r + PLAN::DIST,@angle+135)

    move(@text2,@r + PLAN::DIST,@angle)

    move(@text3,@r + PLAN::DIST,@angle+67.5)

    move(@text4,@r + PLAN::DIST,@angle+202.5)

    @text1.opacity,@text2.opacity,@text3.opacity = opacity_return

    @text1.tone,@text2.tone,@text3.tone,@text4.tone = tone_set

    zoom

    end

    #--------------------------------------------------------------------------

    # * 투명

    #--------------------------------------------------------------------------

    def opacity_return

    case menu_index

    when 0; return 255,128,128;

    when 1; return 128,255,128;

    when 2; return 128,128,255;

    when 3; return 128,128,128;

    end

    end

    #--------------------------------------------------------------------------

    # * 줌

    #--------------------------------------------------------------------------

    def zoom

    case menu_index

    when 0; return big(@text1),normal(@text2),normal(@text3),normal(@text4);

    when 1; return normal(@text1),big(@text2),normal(@text3),normal(@text4);

    when 2; return normal(@text1),normal(@text2),big(@text3),normal(@text4);

    when 3; return normal(@text1),normal(@text2),normal(@text3),big(@text4);

    end

    end

    #--------------------------------------------------------------------------

    # * 회색

    #--------------------------------------------------------------------------

    def normal_tone

    Tone.new(-10,-10,0,255)

    end

    #--------------------------------------------------------------------------

    # * 기본색

    #--------------------------------------------------------------------------

    def over_tone

    Tone.new

    end

    #--------------------------------------------------------------------------

    # * 톤

    #--------------------------------------------------------------------------

    def tone_set

    case menu_index

    when 0; return over_tone,normal_tone,normal_tone,normal_tone;

    when 1; return normal_tone,over_tone,normal_tone,normal_tone;

    when 2; return normal_tone,normal_tone,over_tone,normal_tone;

    when 3; return normal_tone,normal_tone,normal_tone,over_tone;

    end

    end

    #--------------------------------------------------------------------------

    # * 크게 확대

    #--------------------------------------------------------------------------

    def big(method)

    method.zoom_x = 1.5

    method.zoom_y = 1.5

    end

    #--------------------------------------------------------------------------

    # * 보통 크기로

    #--------------------------------------------------------------------------

    def normal(method)

    method.zoom_x = 1

    method.zoom_y = 1

    end

    #--------------------------------------------------------------------------

    # * 현재 메뉴

    #--------------------------------------------------------------------------

    def menu_index

    n = method_distance

    return n.index(n.min)

    end

    #--------------------------------------------------------------------------

    # * 현재 메뉴의 위치값

    #--------------------------------------------------------------------------

    def method_distance

    a = @text1.y - @origin[1]

    b = @text2.y - @origin[1]

    c = @text3.y - @origin[1]

    d = @text4.y - @origin[1]

    return [a,b,c,d]

    end

    #--------------------------------------------------------------------------

    # * 메뉴 이동

    #--------------------------------------------------------------------------

    def move(method,r,angle)

    method.x = @origin[0] + r * Math.cos(angle) - method.bitmap.width/2

    method.y = @origin[1] + r * Math.sin(angle) - method.bitmap.height

    return method

    end

    #--------------------------------------------------------------------------

    # * 검정색

    #--------------------------------------------------------------------------

    def color_black

    Color.new(10,10,0,255)

    end

    #--------------------------------------------------------------------------

    # * 빨간색

    #--------------------------------------------------------------------------

    def color_red

    Color.new(255,0,0,0)

    end

    #--------------------------------------------------------------------------

    # * 메소드 만들기

    #--------------------------------------------------------------------------

    def make_method

    #~ @text1 = make_text("시작하기") # 100PX * 20PX

    #~ @text2 = make_text("계속하기") # 100PX * 20PX

    #~ @text3 = make_text("업적") # 100PX * 20PX

    #~ @text4 = make_text("종료하기") # 100PX * 20PX

    @text1 = make_cache("game_start") # 120PX * 30PX

    @text2 = make_cache("game_load") # 120PX * 30PX

    @text3 = make_cache("special_menu") # 120PX * 30PX

    @text4 = make_cache("game_exit") # 120PX * 30PX

    @bText = true

    end

    #--------------------------------------------------------------------------

    # * 문자 묘화

    #--------------------------------------------------------------------------

    def make_text(str)

    text = Sprite.new

    text.bitmap = Bitmap.new(100,20)

    text.bitmap.draw_text(text.bitmap.rect,str.to_s,1)

    return text

    end

    #--------------------------------------------------------------------------

    # * 그림 묘화

    #--------------------------------------------------------------------------

    def make_cache(str)

    text = Sprite.new

    text.bitmap = Cache.picture(str)

    return text

    end

    #--------------------------------------------------------------------------

    # * 비트맵 만들기

    #--------------------------------------------------------------------------

    def make_bitmap

    px = Sprite.new

    px.bitmap = Bitmap.new(1,1)

    px.bitmap.fill_rect(px.bitmap.rect, Color.new(0,0,0,0))

    return px

    end

    #--------------------------------------------------------------------------

    # * 비트맵 해방

    #--------------------------------------------------------------------------

    def dispose_method

    @text1.bitmap.dispose

    @text1.dispose

    @text2.bitmap.dispose

    @text2.dispose

    @text3.bitmap.dispose

    @text3.dispose

    @text4.bitmap.dispose

    @text4.dispose

    end

    #--------------------------------------------------------------------------

    # * command_window

    #--------------------------------------------------------------------------

    def create_command_window

    xxxx_create_command_window

    @command_window.x = (Graphics.width - @command_window.width) - 20

    @command_window.opacity = 0

    @command_window.contents_opacity = 0

    @command_window.close

    end


    러닝은빛님의 다이얼링 타이틀 스크립트입니다. 이걸 응용하면 되지 않을까요?

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12392
RMXP SRPG 형식을 만드려고 합니다! 1 밀티슈 2017.02.26 230
RMVXA SRPG, 회전전투메뉴 시스탬을 만들고자 합니다. 도와주세요! 6 file mintory 2015.08.05 319
RMVX srpg2 스크립트의 파티인원증가 file SIES 2015.07.07 151
RMVX srpg만들다가 1 livea 2015.03.15 178
RMVX SRPG스크립트에 내장되어 있던 스킬CP제 관련으로 도움을 요청합니다 액셀 2011.10.06 1158
기본툴 사용법 기타 srpg스튜디오로 멀티 플레이가 가능할까요? 자유와바람 2019.11.05 98
RMVX SRPG에 대해 질문드립니다. 3 팔공산반달곰 2010.12.09 1271
RMVX SRPG에서 <boss><guard>의 의미를 잘 모르겠습니다 3 악셀투르 2011.06.23 823
RMVX srpg에서 마우스 조작 2 SIES 2015.07.01 158
RMVX Srpg의 턴 종료 시키기(재 작성) 1 file minibalrog 2012.04.03 3033
RMVXA SRPG전투관련 질문 1 쿠르스 2013.07.21 675
RMVX SRPG지형효과 어떻게 할수 있습니까?(에틴님 좀 봐주세요!) 2 dklqwer123 2011.04.24 901
RMVXA srpg컨버터 위에 작업하려고 하는데요 aeorifji 2013.07.28 627
RMVXA SRPG컨버터로 작업중인데요 에러 해결 어떻게 하나요? 1 file aeorifji 2013.03.01 657
RMVXA stack level too deep 3 백은호 2016.11.09 180
Steam 버젼 VXA 한글이 깨지는 현상 file Yeolde 2014.03.14 1497
RMVXA steam판 vx ace 사용중입니다. 프로젝트 저장이 느려요 5 데트 2015.04.08 212
에러 해결 RMMV super tools engine 플러그인 오류 2 문정 2019.07.09 69
플러그인 사용 RMMV SuperToolsEngine 플러그인이 적용이 안되요 4 file 서하쨩 2024.02.21 27
RMMV SV 액터를 바로 적으로 쓰는법 없나요? 4 잠행인 2016.07.31 179
Board Pagination Prev 1 ... 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ... 516 Next
/ 516