질문과 답변

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
기타 스크립트에대해서 궁금합니다 3 아쳐 2015.08.06 154
사이트 이용 RPG게임을 만들때 필요한 프로그램은 어떻게 다운받나요? 1 Ailin 2015.08.06 420
RMVXA 이벤트를 사용하여 맵칩을 두면 아랫쪽에 빈공간이 생깁니다 1 file KIM곰 2015.08.06 152
RMVXA 이벤트 겹치기! 2 삡코 2015.08.06 182
RMVXA SRPG, 회전전투메뉴 시스탬을 만들고자 합니다. 도와주세요! 6 file mintory 2015.08.05 319
기타 업로드 방법 2 이.화 2015.08.05 90
스팀에서 RPG만들기 VX ACE삿는데 한글패치방법알려주세요 1 나츠야 히루 2015.08.05 573
RMVX 알만툴 충돌 (전체적인 오류) 도와주세요~ 3 하얀악어 2015.08.04 395
RMVXA 어디에 닿을시 화분이나 물건이 바닥으로 떨어지는 모습을 하고싶어요 2 다앙테 2015.08.04 332
RMVXA 스크립트 수정해주실분 찾아요.. 환장 2015.08.04 150
RMVXA 타이틀메뉴에서 "시작하기"만 눌렀을 때 간단한 Se 재생 2 정과장 2015.08.04 187
RMVXA 스위치와 커먼 이벤트를 사용하여 빛 효과 적용시키는거 어떻게 하나요 4 file KIM곰 2015.08.04 170
RMVXA 윈10 데이터베이스 크기조절 1 file 황금시계 2015.08.04 221
RMVXA 시간지나면 자라나는 농작물 3 file 삡코 2015.08.04 226
RMVXA 말풍선 스크립트가 정말로 필요합니다 환장 2015.08.03 172
RMVXA 불 형태의 칩을 휘날리는듯이 설정하고 싶은데 이동경로를 어떻게 설정해야하나요 2 file KIM곰 2015.08.03 147
RMVX 캐릭터가 자고있다 깨어나는거 어떻게하나요? 5 file 피의신랑 2015.08.03 212
RMVX 물이 흐르거나 떨어져잇는 아이템이 반짝이게 하는효과 어덯게하죠? 1 아브아브 2015.08.03 530
RMXP [RPG XP] 이벤트종료후 캐릭터를 바꾸게하는방법 (일명 전직같은... 전 아직 이런걸 못해서 ㅎㅎ) 1 YT놔이트 2015.08.02 201
RMVXA 타이머 설정을 5초로 해놨는데 4초에서 멈추고 더 줄어들지 않습니다... 1 file 오니으리 2015.08.02 221
Board Pagination Prev 1 ... 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 ... 516 Next
/ 516