질문과 답변

Extra Form

제목 그대로입니다 .

제가 아오오니 게임을 만들다가

탈출방법을 찾아내서 파티원들이

쫓아오게 하고싶은데 . .

안되나요 ?

Who's Spirit

?


만들다 보니 지겨워..

Comment '3'
  • ?
    천음술사 2011.01.13 14:03

    '기차놀이 스크립트' 를 이용하면 됩니다.

    스크립트에 '기차' 검색하고 찾아보세여

  • ?
    나방's 2011.01.13 14:48

    #============================================================================== 
    # ■ Member_Train 
    #------------------------------------------------------------------------------ 
    #  동료를 기차처럼 나란히 따라오게 만드는 클레스입니다. 
    #==============================================================================

    module Train_Actor

    # ●투명상태용 스윗치 설정 
    # true 라면 스윗치 제어를 실시한다 
    # TRANSPARENT_SWITCH = true 
    TRANSPARENT_SWITCH = true

    # ●투명상태용 스윗치 번호 
    # TRANSPARENT_SWITCH 가 true 로 , 이 번호의 스윗치가 ON라면 투명하게 된다 
    TRANSPARENT_SWITCHES_INDEX = 100

    # ●엑터의 최대수 
    # 장래적으로 많은 사람 파티를 생기게 되면… 
    TRAIN_ACTOR_SIZE_MAX = 7

    # 정수 
    #Input::DOWN = 2 
    #Input::LEFT = 4 
    #Input::RIGHT = 6 
    #Input::UP = 8 
    DOWN_LEFT = 1 
    DOWN_RIGHT = 3 
    UP_LEFT = 7 
    UP_RIGHT = 9 
    JUMP = 5

    class Game_Party_Actor < Game_Character 
    def initialize 
    super() 
    @through = true 
    end 
    def setup(actor) 
    # 캐릭터의 파일명과 색상을 설정 
    if actor != nil 
    @character_name = actor.character_name 
    @character_hue = actor.character_hue 
    else 
    @character_name = "" 
    @character_hue = 0 
    end 
    # 불투명도와 합성 방법을 초기화 
    @opacity = 255 
    @blend_type = 0 
    end 
    def screen_z(height = 0) 
    if $game_player.x == @x and $game_player.y == @y 
    return $game_player.screen_z(height) - 1 
    end 
    super(height) 
    end 
    #-------------------------------------------------------------------------- 
    # ● 아래에 이동 
    # turn_enabled : 그 자리에서의 향해 변경을 허가하는 플래그 
    #-------------------------------------------------------------------------- 
    def move_down(turn_enabled = true) 
    # 아래를 향한다 
    if turn_enabled 
    turn_down 
    end 
    # 통행 가능한 경우 
    if passable?(@x, @y, Input::DOWN) 
    # 아래를 향한다 
    turn_down 
    # 좌표를 갱신 
    @y += 1 
    end 
    end 
    #-------------------------------------------------------------------------- 
    # ● 왼쪽으로 이동 
    # turn_enabled : 그 자리에서의 향해 변경을 허가하는 플래그 
    #-------------------------------------------------------------------------- 
    def move_left(turn_enabled = true) 
    # 왼쪽을 향한다 
    if turn_enabled 
    turn_left 
    end 
    # 통행 가능한 경우 
    if passable?(@x, @y, Input::LEFT) 
    # 왼쪽을 향한다 
    turn_left 
    # 좌표를 갱신 
    @x -= 1 
    end 
    end 
    #-------------------------------------------------------------------------- 
    # ● 오른쪽으로 이동 
    # turn_enabled : 그 자리에서의 향해 변경을 허가하는 플래그 
    #-------------------------------------------------------------------------- 
    def move_right(turn_enabled = true) 
    # 오른쪽을 향한다 
    if turn_enabled 
    turn_right 
    end 
    # 통행 가능한 경우 
    if passable?(@x, @y, Input::RIGHT) 
    # 오른쪽을 향한다 
    turn_right 
    # 좌표를 갱신 
    @x += 1 
    end 
    end 
    #-------------------------------------------------------------------------- 
    # ● 위에 이동 
    # turn_enabled : 그 자리에서의 향해 변경을 허가하는 플래그 
    #-------------------------------------------------------------------------- 
    def move_up(turn_enabled = true) 
    # 위를 향한다 
    if turn_enabled 
    turn_up 
    end 
    # 통행 가능한 경우 
    if passable?(@x, @y, Input::UP) 
    # 위를 향한다 
    turn_up 
    # 좌표를 갱신 
    @y -= 1 
    end 
    end 
    #-------------------------------------------------------------------------- 
    # ● 좌하에 이동 
    #-------------------------------------------------------------------------- 
    def move_lower_left 
    # 방향 고정이 아닌 경우 
    unless @direction_fix 
    # 오른쪽 방향이었던 경우는 왼쪽을 , 오름새였던 경우는 아래를 향한다 
    @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction) 
    end 
    # 하→왼쪽 , 좌→하의 어느 쪽인가의 코스가 통행 가능한 경우 
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or 
    (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN)) 
    # 좌표를 갱신 
    @x -= 1 
    @y += 1 
    end 
    end 
    #-------------------------------------------------------------------------- 
    # ● 우하에 이동 
    #-------------------------------------------------------------------------- 
    def move_lower_right 
    # 방향 고정이 아닌 경우 
    unless @direction_fix 
    # 좌향이었던 경우는 오른쪽을 , 오름새였던 경우는 아래를 향한다 
    @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction) 
    end 
    # 하→오른쪽 , 우→하의 어느 쪽인가의 코스가 통행 가능한 경우 
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or 
    (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN)) 
    # 좌표를 갱신 
    @x += 1 
    @y += 1 
    end 
    end 
    #-------------------------------------------------------------------------- 
    # ● 좌상에 이동 
    #-------------------------------------------------------------------------- 
    def move_upper_left 
    # 방향 고정이 아닌 경우 
    unless @direction_fix 
    # 오른쪽 방향이었던 경우는 왼쪽을 , 하향이었던 경우는 위를 향한다 
    @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction) 
    end 
    # 상→왼쪽 , 좌→상의 어느 쪽인가의 코스가 통행 가능한 경우 
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or 
    (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP)) 
    # 좌표를 갱신 
    @x -= 1 
    @y -= 1 
    end 
    end 
    #-------------------------------------------------------------------------- 
    # ● 우상에 이동 
    #-------------------------------------------------------------------------- 
    def move_upper_right 
    # 방향 고정이 아닌 경우 
    unless @direction_fix 
    # 좌향이었던 경우는 오른쪽을 , 하향이었던 경우는 위를 향한다 
    @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction) 
    end 
    # 상→오른쪽 , 우→상의 어느 쪽인가의 코스가 통행 가능한 경우 
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or 
    (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP)) 
    # 좌표를 갱신 
    @x += 1 
    @y -= 1 
    end 
    end

    attr_writer :move_speed 
    attr_writer :step_anime 
    end

    module Spriteset_Map_Module 
    def setup_actor_character_sprites? 
    return @setup_actor_character_sprites_flag != nil 
    end 
    def setup_actor_character_sprites(characters) 
    if !setup_actor_character_sprites? 
    index_game_player = 0 
    @character_sprites.each_index do |i| 
    if @character_sprites[i].character.instance_of?(Game_Player) 
    index_game_player = i 
    break 
    end 
    end 
    for character in characters.reverse 
    @character_sprites.unshift( 
    Sprite_Character.new(@viewport1, character) 

    end 
    @setup_actor_character_sprites_flag = true 
    end 
    end 
    end

    module Scene_Map_Module 
    def setup_actor_character_sprites(characters) 
    @spriteset.setup_actor_character_sprites(characters) 
    end 
    end

    module Game_Party_Module 
    def set_transparent_actors(transparent) 
    @transparent = transparent 
    end 
    def setup_actor_character_sprites 
    if @characters == nil 
    @characters = [] 
    for i in 1 ... TRAIN_ACTOR_SIZE_MAX 
    @characters.push(Game_Party_Actor.new) 
    end 
    end 
    for i in 1 ... TRAIN_ACTOR_SIZE_MAX 
    @characters[i - 1].setup(actors[i]) 
    end 
    if $scene.class.method_defined?('setup_actor_character_sprites') 
    $scene.setup_actor_character_sprites(@characters) 
    end 
    end 
    def update_party_actors 
    setup_actor_character_sprites 
    transparent = $game_player.transparent 
    if transparent == false 
    if TRANSPARENT_SWITCH 
    transparent = $game_switches[TRANSPARENT_SWITCHES_INDEX] 
    end 
    end 
    for character in @characters 
    character.transparent = transparent 
    character.move_speed = $game_player.move_speed 
    character.step_anime = $game_player.step_anime 
    character.update 
    end 
    end 
    def moveto_party_actors( x, y ) 
    setup_actor_character_sprites 
    for character in @characters 
    character.moveto( x, y ) 
    end 
    if @move_list == nil 
    @move_list = [] 
    end 
    move_list_setup 
    end 
    def move_party_actors 
    if @move_list == nil 
    @move_list = [] 
    move_list_setup 
    end 
    @move_list.each_index do |i| 
    if @characters[i] != nil 
    case @move_list[i].type 
    when Input::DOWN 
    @characters[i].move_down(@move_list[i].args[0]) 
    when Input::LEFT 
    @characters[i].move_left(@move_list[i].args[0]) 
    when Input::RIGHT 
    @characters[i].move_right(@move_list[i].args[0]) 
    when Input::UP 
    @characters[i].move_up(@move_list[i].args[0]) 
    when DOWN_LEFT 
    @characters[i].move_lower_left 
    when DOWN_RIGHT 
    @characters[i].move_lower_right 
    when UP_LEFT 
    @characters[i].move_upper_left 
    when UP_RIGHT 
    @characters[i].move_upper_right 
    when JUMP 
    @characters[i].jump(@move_list[i].args[0],@move_list[i].args[1]) 
    end 
    end 
    end 
    end 
    class Move_List_Element 
    def initialize(type,args) 
    @type = type 
    @args = args 
    end 
    def type() return @type end 
    def args() return @args end 
    end 
    def move_list_setup 
    for i in 0 .. TRAIN_ACTOR_SIZE_MAX 
    @move_list[i] = nil 
    end 
    end 
    def add_move_list(type,*args) 
    @move_list.unshift(Move_List_Element.new(type,args)).pop 
    end 
    def move_down_party_actors(turn_enabled = true) 
    move_party_actors 
    add_move_list(Input::DOWN,turn_enabled) 
    end 
    def move_left_party_actors(turn_enabled = true) 
    move_party_actors 
    add_move_list(Input::LEFT,turn_enabled) 
    end 
    def move_right_party_actors(turn_enabled = true) 
    move_party_actors 
    add_move_list(Input::RIGHT,turn_enabled) 
    end 
    def move_up_party_actors(turn_enabled = true) 
    move_party_actors 
    add_move_list(Input::UP,turn_enabled) 
    end 
    def move_lower_left_party_actors 
    move_party_actors 
    add_move_list(DOWN_LEFT) 
    end 
    def move_lower_right_party_actors 
    move_party_actors 
    add_move_list(DOWN_RIGHT) 
    end 
    def move_upper_left_party_actors 
    move_party_actors 
    add_move_list(UP_LEFT) 
    end 
    def move_upper_right_party_actors 
    move_party_actors 
    add_move_list(UP_RIGHT) 
    end 
    def jump_party_actors(x_plus, y_plus) 
    move_party_actors 
    add_move_list(JUMP,x_plus, y_plus) 
    end 
    end

    module Game_Player_Module 
    def update 
    $game_party.update_party_actors 
    super 
    end 
    def moveto( x, y ) 
    $game_party.moveto_party_actors( x, y ) 
    super( x, y ) 
    end 
    def move_down(turn_enabled = true) 
    if passable?(@x, @y, Input::DOWN) 
    $game_party.move_down_party_actors(turn_enabled) 
    end 
    super(turn_enabled) 
    end 
    def move_left(turn_enabled = true) 
    if passable?(@x, @y, Input::LEFT) 
    $game_party.move_left_party_actors(turn_enabled) 
    end 
    super(turn_enabled) 
    end 
    def move_right(turn_enabled = true) 
    if passable?(@x, @y, Input::RIGHT) 
    $game_party.move_right_party_actors(turn_enabled) 
    end 
    super(turn_enabled) 
    end 
    def move_up(turn_enabled = true) 
    if passable?(@x, @y, Input::UP) 
    $game_party.move_up_party_actors(turn_enabled) 
    end 
    super(turn_enabled) 
    end 
    def move_lower_left 
    # 하→왼쪽 , 좌→하의 어느 쪽인가의 코스가 통행 가능한 경우 
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or 
    (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN)) 
    $game_party.move_lower_left_party_actors 
    end 
    super 
    end 
    def move_lower_right 
    # 하→오른쪽 , 우→하의 어느 쪽인가의 코스가 통행 가능한 경우 
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or 
    (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN)) 
    $game_party.move_lower_right_party_actors 
    end 
    super 
    end 
    def move_upper_left 
    # 상→왼쪽 , 좌→상의 어느 쪽인가의 코스가 통행 가능한 경우 
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or 
    (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP)) 
    $game_party.move_upper_left_party_actors 
    end 
    super 
    end 
    def move_upper_right 
    # 상→오른쪽 , 우→상의 어느 쪽인가의 코스가 통행 가능한 경우 
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or 
    (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP)) 
    $game_party.move_upper_right_party_actors 
    end 
    super 
    end 
    def jump(x_plus, y_plus) 
    # 새로운 좌표를 계산 
    new_x = @x + x_plus 
    new_y = @y + y_plus 
    # 가산치가 (0,0) 의 경우인가 , 점프처가 통행 가능한 경우 
    if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0) 
    $game_party.jump_party_actors(x_plus, y_plus) 
    end 
    super(x_plus, y_plus) 
    end

    attr_reader :move_speed 
    attr_reader :step_anime 
    end

    end # module Train_Actor

    class Game_Party 
    include Train_Actor::Game_Party_Module 
    end

    class Game_Player 
    include Train_Actor::Game_Player_Module 
    end

    class Spriteset_Map 
    include Train_Actor::Spriteset_Map_Module 
    end

    class Scene_Map 
    include Train_Actor::Scene_Map_Module 
    end


    ㅇㅇ

  • ?
    Spirit 2011.01.21 16:58

    감사합니다 .


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12441
스크립트 추천 RMVXA 전투중 적의 능력치를 알려주는 스킬은 만들 수 없을까요? 2 file 조카크래파스십팔색이야 2020.03.14 71
스크립트 추천 RMXP 화면 크기가 아닌 게임의 해상도를 조절하고싶습니다. file 데아곤 2019.11.10 411
스크립트 추천 RMXP 이벤트가 주인공을 따라올 때 최소거리를 계산해서 자동으로 추적하는 스크립트 있나요? 2 섣달 2019.01.15 147
스크립트 추천 RMVXA 적이 장애물이나 벽 발견시 자연스럽게 피해가게 하는 법 1 슈필러 2019.04.20 119
스크립트 추천 RMVXA 지역(Region)을 이용하여 타일셋을 놓지 않고도 통행가능하게 하는 방법이 있나요? yoyo1515 2019.07.14 110
스크립트 추천 RMVX 스크립트로 인벤토리 조합 어케해요 2021.08.20 68
스크립트 추천 RMMV 게임을 초기화 혹은 재시작 시키는 방법 2 XB 2019.11.22 428
스크립트 추천 RMMV 적의 능력치를 변수로 설정하고 싶습니다. 2 레기우스州 2020.09.07 108
스크립트 추천 RMVXA 배틀 시, 캐릭터들의 얼굴이 보이는 스크립트(?) 게임만드는다별이 2020.01.12 158
스크립트 추천 RMVXA 큰 페이스칩 여러 개 띄우는 스크립트 limitation 2020.02.25 151
스크립트 추천 RMMV 호감도 시스템을 구현하는 플러그인 존재합니까? 3 JDG 2020.03.22 238
스크립트 추천 RMVXA 엑터 움직일때 자연스럽게 움직이게 하고싶어요 유리컵 2020.03.30 95
스크립트 추천 RMVXA 연속으로 데미지가 들어가게 하는 스크립트가 있나요? 2 Goker 2020.04.11 116
스크립트 추천 RMVXA 기본 스테이터스(능력치) 말고스테이터스를 추가하는법이 있을까요? 루네코 2020.05.04 110
스크립트 추천 RMVXA 이런 스크립트 있을까요? 2 file 설님 2020.05.18 180
스크립트 추천 RMVXA 보호막 같은 것을 구현시키는 스크립트 있나요? 2 겜만들고싶다앙 2021.04.18 103
스크립트 추천 RMVXA 적이 쫓아오는 스크립트 2 겜만들고싶다앙 2020.12.25 191
스크립트 추천 RMVXA 이벤트가 움직이는 다른 이벤트를 향해 움직이는 것은 어떻게 하나요? 2 환경사랑 2021.08.23 70
스크립트 추천 RMVXA ace에서 타이틀 화면에 이미지 모음 앨범 메뉴를 만드는 스크립트가 있을까요? 1 홍홍이1 2020.11.08 238
스크립트 추천 RMVXA npc가 마주볼때 이벤트 발생 시키기 3 겜만들고싶다앙 2021.01.07 215
Board Pagination Prev 1 ... 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ... 83 Next
/ 83