종료

[XP 스크립트 -> MV 플러그인] 작은 게이지바 플러그인 변환 요청이요~

by 책벌레공상가 posted Feb 25, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
사용 제작툴 RMMV
의뢰 부문 기능 구현
마감일 2016-03-31

비밀소년님이 제작하신 XP용 작은게이지 스크립트입니다.




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

# ■ Sprite_Character > 작은게이지

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

#  Author: Bimilist(비밀소년)

#  Desc: 케릭터에 작은 게이지를 표시합니다. 

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


class Sprite_Character < Sprite_Character

  def update

    super

    if @_gauge_setup then

      @_gauge_duration = [@_gauge_duration - 5, 0].max

      @_gauge_sprite_b.x = self.x

      @_gauge_sprite_b.y = self.y - self.oy

      @_gauge_sprite_b.opacity = @_gauge_duration

      @_gauge_sprite.x = self.x

      @_gauge_sprite.y = self.y - self.oy

      @_gauge_sprite.opacity = @_gauge_duration

    end

  end

  def gauge(p)

    setup_gauge if not @_gauge_setup

    @_gauge_sprite.src_rect = Rect.new(0, 0, p * 30, 2)

    @_gauge_duration = 255

  end

  def setup_gauge

    dispose_gauge

    @_gauge_setup = true

    @_gauge_sprite = Sprite.new(self.viewport)

    @_gauge_sprite.bitmap = Bitmap.new(30, 2)

    @_gauge_sprite.bitmap.fill_rect(0, 0, 30, 2, Color.new(255, 255, 0)) 

    @_gauge_sprite.ox = 15

    @_gauge_sprite.oy = -1

    @_gauge_sprite.z = 1000

    @_gauge_sprite_b = Sprite.new(self.viewport)

    @_gauge_sprite_b.bitmap = Bitmap.new(32, 4)

    @_gauge_sprite_b.bitmap.fill_rect(0, 0, 32, 4, Color.new(0, 0, 0)) 

    @_gauge_sprite_b.bitmap.fill_rect(1, 1, 30, 2, Color.new(255, 0, 0)) 

    @_gauge_sprite_b.ox = 16

    @_gauge_sprite_b.oy = 0

    @_gauge_sprite_b.z = 999

  end

  def dispose_gauge

    return if not @_gauge_setup

    @_gauge_setup = false

    @_gauge_sprite.dispose

    @_gauge_sprite_b.dispose

  end

  def dispose

    dispose_gauge

    super

  end

end


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

# ■ 작은게이지 > 커맨드사용

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

#  Author: Bimilist(비밀소년)

#  Desc: 작은게이지를 커맨드에서 사용합니다.

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


class Game_Character

  attr_accessor :gauge_value                 # 불사신 플래그

end


# 쉬운 사용으로의 수정

class Sprite_Character < Sprite_Character

  def update

    super

    if character.methods.include?("gauge_value") and character.gauge_value != nil

      gauge(character.gauge_value)

      character.gauge_value = nil

    end

  end

end


# 케릭터 아이디경우 -1 대입시 주인공이 적용됩니다.

# 수치는 0.00~1.00 사이의 수 입니다. 1.00이 꽉찬 게이지.

def 작은게이지_표시! (케릭터아이디, 생명지수)

  case 케릭터아이디

  when -1  # 플레이어

    케릭터 = $game_player

  when 0

    return # 0번은 호출하시면 안됩니다.

  else  # 특정의 이벤트

    케릭터 = $game_map.events[케릭터아이디]

  end

  케릭터.gauge_value = 생명지수

end




이 스크립트를 MV에서도 사용 가능하게 플러그인으로 변환할 수 있다면 좋겠습니다.