질문과 답변

Extra Form

문제는 :

텍스트 팝업 스크립트인데 화면 색조를 어둡게하면 안보여요....


이벤트에서 '화면의 색조변경'을 (0, 0, 0, 0)으로 해두고서,

'팝업 스크립트'를 사용하면 보이지가 않습니다.


보니깐 화면의 색조를 변경하면 팝업 텍스트도 같이 어두워 지더라고요...

절대 스크립트를 잘못 사용해서 오류가 뜨는게 아니에요...


그래서 화면의 색조보다 팝업 텍스트를 위에 보이게 하고 싶은데 방법이 없을까요?

스크립트는 할줄을 몰라서 이렇게 부탁드립니다...


스크립트 파일 첨부하였고요. 사용법도 스크립트에 있는데,

사용하시는 방법은 이벤트 스크립트에 아래 것을 넣으시면 됩니다...


nel_textpop(
:text => "텍스트",
:event_id => -1,
:bold => true,
:time => 240,
:size => 24,
:color => Color.new(255,255,255),
)


스크립트 고수님들 꼭 좀 부탁드리겠습니다..

Comment '4'
  • profile
    습작 2013.11.24 16:39

    캐릭터 스프라이트를 그리는 뷰포트보다 상위의 뷰포트에 텍스를 그리도록 수정했습니다. 수고하세요.^^



    =begin


    폰트,크기,색,위치까지 설정 가능한 만능 글짜띄우기 스크립트입니다.


    액알이나 기타 시뮬에 도움이 많이 될 것 같네요 ㅎㅎ


     


    http://forums.rpgmakerweb.com/index.php?/topic/576-nasty-text-pop-over-events/<원본링크


     


    스크립트 사용법 예제:


    nel_textpop(

    :text => "사용하는방법",

    :event_id => -1,

    :bold => true,

    :time => 240,

    :size => 24,

    :color => Color.new(255,255,255),

    )


    =end 


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

    #       N.A.S.T.Y. Text Pop Over Events

    #      Nelderson's Awesome Scripts To You

    #

    # By: Nelderson

    # Last Updated: 3/18/20112

    #

    # Version 1.0 - 3/17/2012

    #

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

    #

    # Update History:

    # - Version 1.0  - Initial release, 1st Resource Script for rpgmakervxace.net

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

    # *Features:

    # - This script creates text above an event or the player on a map

    #  

    # *Initial Setup

    # - This script has a small setup section to define a few Defaults when

    #   text is first put up above an event's head:

    #  

    # DEF_TEXT_COLOR - Is the default text color when not defined in the

    #      script call. When you pick a color you have to use

    #      the form:

    #

    #    Color.new(r,g,b,a) - Where r = red, g = green,

    #          b = blue, and a = alpha

    #

    # DEF_TEXT_SIZE - This is the default text font size, pretty easy here.

    #

    # DEF_TEXT_FONT - This is the name of the default font that'll be used

    #     for text pops that don't specify one in the script call

    #

    # *Script Call:

    #

    # - nel_textpop(:attribute => value,

    #      :attribute2 => value,

    #      :attribute3: => value,

    #      )

    #

    #   ** Where :attributes can be any one of the following:

    #

    #    :text => Values will be in "quotes", and displays over event

    #     (Defaults to "" when not defined)

    #  

    #    :event_id => The Event ID that will display text.

    #     0 = Current Event ID,  -1 = Player,

    #       -2 1stFollower, -3 2ndFollower, -4 3rdFollower

    #     (Defaults to 0 when not defined)

    #

    #    :time => This is the time that the text will last in FRAMES.

    #     60 FRAMES = 1 second,

    #     *Note: Set :time => nil for the text to last forever*

    #     (Defaults to nil when not defined)

    #    

    #    :font => This is the name of the font you want for the text.

    #     Values with be in "quotes"

    #     (Defaults to DEF_TEXT_FONT when not defined)

    #

    #    :size => This changes the font size on the text displayed

    #      (Defaults to DEF_TEXT_SIZE when not defined)

    #

    #    :color => This changes the color of the text displayed

    #     Values need to be => Color.new(r,g,b,a)

    #    (Defaults to DEF_TEXT_COLOR when not defined)

    #

    #    :bold => This makes the displayed text bold

    #       Values need to be => true or false

    #    (Defaults to false when not defined)

    #   

    #    :italic => This makes the displayed text italic

    #     Values need to be => true or false

    #    (Defaults to false when not defined)

    #

    # *Instructions

    #  -You can place the script call nel_textpop in any event

    #

    #  -You don't have to define every attribute, they will automatically

    #   go to the defaults to make things easier.

    #

    # *Sample Call

    #   nel_textpop(

    #   :text => "I hate you!",

    #   :event_id => -1,

    #   :bold => true,

    #   :italic => true,

    #   :time => 120,

    #   :font => "Vrinda",

    #   :size => 64,

    #   :color => Color.new(220,20,60),

    #   )

    #

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

    # Credits:

    # -Nelderson, tomoaky, and IceDragon

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

    # Based off: RGSS2_namepop Ver0.02

    # tomoaky (http://hikimoki.sakura.ne.jp/)

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


    module NEL

      #Default text pop font

      DEF_TEXT_FONT = "나눔고딕"


      #Default text pop font size

      DEF_TEXT_SIZE = 16


      #Default text pop color

      DEF_TEXT_COLOR = Color.new(255,255,255,255)# <== White


    end #<=== Don't Touch


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

    #--------#       #----# DO NOT EDIT PAST THIS POINT!!! #--------#

    #--------# End of Customization #----# Editing will cause death by #--------#

    #--------#       #----# Zetu Stabbing your heart </3   #--------#

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


    # // 02/03/2012 [

    #Collects the hash keys in order, and then passes the values

    class Hash

    # // IceDragon <=== *The Ultimate in Awesome OTL

      def get_values(*args)

     args.collect {|a|self[a]}

      end

    end  

    # // 02/03/2012 ]


    class Game_Interpreter

      include NEL

      #IceDragon helped make this script call easier with awesomeness...Thanks Icy!

      def nel_textpop(*args)

     if(args[0].is_a?(Hash))

       text, ev_id, time, size, color, font, bold, ital = args[0].get_values(:text,:event_id,:time,:size,:color,:font,:bold,:italic)

     else

       text, ev_id, time, size, color, font, bold, ital = *args

     end

     char = nel_get_character(ev_id || 0)

     return unless(char)

     char.namepop_size = size  || DEF_TEXT_SIZE

     char.namepop_color= color || DEF_TEXT_COLOR

     char.namepop_time = time  || nil

     char.namepop   = text  || ""

     char.namepop_font = font || DEF_TEXT_FONT

     char.namepop_bold = !!bold # // Convert to Bool

     char.namepop_ital = !!ital

     char.textpop_flag = true #Forces refresh

      end


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

      # *New Method: nel_get_character

      #

      # Instead of original get_character, this include Followers in the argument

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

      def nel_get_character(param)


     if $game_party.in_battle

       nil

     elsif param < 0

       case param

       when -1; return $game_player

       else; return $game_player.followers[(param + 2) * (-1)]

       end

     else

       events = same_map? ? $game_map.events : {}

       events[param > 0 ? param : @event_id]

     end

      end

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

    end

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

    # ¡ Game_Character

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

    class Game_Character

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

      # œ œo?J?C?“?X?^?“?X?I”

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

      attr_accessor :namepop    

      attr_accessor :namepop_size

      attr_accessor :namepop_color

      attr_accessor :namepop_time

      attr_accessor :namepop_font

      attr_accessor :namepop_bold

      attr_accessor :namepop_ital

      attr_accessor :textpop_flag #Instant update if script call is used


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

      alias nel_font_type_init initialize

      def initialize

     @namepop_font = NEL::DEF_TEXT_FONT

     @namepop_bold = false

     @namepop_ital = false

     @textpop_flag = false

     nel_font_type_init

      end

    end

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

    # ¡ Sprite_Character

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

    class Sprite_Character < Sprite_Base

      def initialize(viewport, character = nil, viewport2)

        super(viewport)

        @timer = 0

        @viewport2 = viewport2

        @character = character

        @balloon_duration = 0

        update

      end

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

      # œ ‰ð?u

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

      alias tnpop_sprite_character_dispose dispose

      def dispose

     dispose_namepop

     tnpop_sprite_character_dispose

      end

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

      # œ ?t?œ[?€XV

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

      alias tnpop_sprite_character_update update

      def update

     tnpop_sprite_character_update #Original Update

     if @timer > 0 && @character.textpop_flag == false#Skip when script called

       @timer -= 1

       update_text_pos

       if @timer <= 0

      @namepop_sprite.visible = false

      @namepop_sprite.opacity = 255 #Reset opacity just in case

      @namepop_sprite = nil

      @character.namepop = nil

      @namepop = nil

      @tmer_rat = nil #Reset ratio, just to avoid issues

       elsif @timer < 60

      #Fade out text gradually within the last 60 frames

      @tmer_rat ||= 255/@timer

      @namepop_sprite.opacity -= @tmer_rat

       end

     else

       update_namepop

       if @character.textpop_flag == true #If script call

      @namepop = @character.namepop

      start_namepop

       end

     end

      end


      def update_text_pos

     @namepop_sprite.x = x

     @namepop_sprite.y = y - height

     @namepop_sprite.z = z + 200

      end


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

      # ? namepop?I?J?n

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

      def start_namepop

        dispose_namepop

        return if @namepop == "none" or @namepop == nil

        @namepop_sprite = ::Sprite.new(@viewport2)

        b_width = @namepop.size * 16

        b_height = @character.namepop_size

        @namepop_sprite.ox = 80 + (b_width/2)

        @namepop_sprite.oy = 16 + (b_height/2)

        @namepop_sprite.bitmap = Bitmap.new(b_width+160, b_height)

        @namepop_sprite.bitmap.font.color = @character.namepop_color

        @namepop_sprite.bitmap.font.size = @character.namepop_size

        @namepop_sprite.bitmap.font.name = [@character.namepop_font]

        @namepop_sprite.bitmap.font.bold = @character.namepop_bold

        @namepop_sprite.bitmap.font.italic = @character.namepop_ital

        @namepop_sprite.bitmap.draw_text(0, 0, b_width+160, b_height, @namepop, 1)

        @namepop_time = @character.namepop_time

        update_namepop(@namepop_time)

        @character.textpop_flag = false

      end

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

      # ? namepop?IXV

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

      def update_namepop(time = nil) #Add a timer variable

        if @namepop_sprite != nil

          @namepop_sprite.x = x

          @namepop_sprite.y = y - height

          @namepop_sprite.z = z + 200

          if time != nil

            @timer = time

            @namepop_time = 0

          end

        end

      end

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

      # ? namepop?I‰ð?u

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

      def dispose_namepop

        if @namepop_sprite != nil

          @namepop_sprite.bitmap.dispose

          @namepop_sprite.dispose

          @namepop_sprite = nil

        end

      end

    end

    class Spriteset_Map

      def create_characters

        @character_sprites = []

        $game_map.events.values.each do |event|

          @character_sprites.push(Sprite_Character.new(@viewport1, event, @viewport3))

        end

        $game_map.vehicles.each do |vehicle|

          @character_sprites.push(Sprite_Character.new(@viewport1, vehicle, @viewport3))

        end

        $game_player.followers.reverse_each do |follower|

          @character_sprites.push(Sprite_Character.new(@viewport1, follower, @viewport3))

        end

        @character_sprites.push(Sprite_Character.new(@viewport1, $game_player, @viewport3))

        @map_id = $game_map.map_id

      end

    end


  • profile
    수이스 2013.11.24 16:47

    정말 마른땅에 단비같은 존재시네요 ㅠㅠ


    그런데 안되요 ㅠㅠ
    실행해보면
    Script 'Text_Pop_Over_Event' line 680: ArgumentError occurred.
    wrong number of arguments (3 for 2)
    라고 뜨네요 ㅠㅠ

  • profile
    습작 2013.11.24 16:55
    일단 빈 프로젝트에서 무리 없이 작동한 것으로보아 스크립트 자체의 문제라기 보다는 다른 스크립트와의 충돌문제인 것 같습니다. 사용하고 계시는 여타 다른 스크립트와의 충돌이 있지 않은지 확인해주세요.
  • profile
    수이스 2013.11.24 17:08
    아... 다른 스크립트랑 충돌하던 거더군요 ㅠㅠ
    필요없는 스크립트랑 충돌난거라 천만다행이네요 ㅎㅎ

    정말 감사합니다 ㅋㅋㅋ 무궁무진한 게임 제작할거같습니다

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12448
RMVXA 통행설정을x로 했는데도 불구하고 움직여 집니다 4 file reknown 2015.05.03 192
RMVXA 통행 설정을 해도 벽을 캐릭터가 통과해요 5 리레아 2017.03.06 1042
RMVXA 통행 설정을 안 쓰고 벽 통과 하는 법 5 휴론 2014.11.09 1142
RMVXA 통행 가능 설정 해놓아도 움직이지 못해요. 2 file 래피더 2014.12.14 277
RMVXA 텔레포트 하는법 4 aaa222 2013.08.24 1105
RMVXA 텍스트박스 옆에 캐릭터 나오는 법,,,알려주세요 1 file vGONv 2017.02.04 217
RMVXA 텍스트를 화면에 나타나게하는 스크립트가 필요합니다 버섯수프 2016.06.09 94
RMVXA 텍스트 팝업 스크립트인데 화면 색조를 어둡게하면 안보여요.... 4 file 수이스 2013.11.24 1070
이벤트 작성 RMVXA 텍스트 출력방식 변경하는 방법이 뭔가요? 1 먹사 2022.11.26 66
RMVXA 테스트하던 도중 실수로 저장을 해버렸습니다.. 4 file 아샤♠키안에르 2018.10.06 173
RMVXA 테스트플레이시 오류 2 file 핵신 2013.07.14 777
RMVXA 테스트창을 확대화 못시키나요? 3 훈봉이 2013.07.27 711
RMVXA 테스트맵을 실행시키면 dll오류가 뜨고 system32에 dll을 넣어도 안돼네요.. 3 훈봉이 2013.07.27 6221
스크립트 사용 RMVXA 테스트 플레이시 게임 속도가 빨라지는 스크립트 없나요? 1 김현무 2019.04.10 160
RMVXA 테스트 플레이 도중 렉이 걸립니다. 3 난현이라는 2012.03.17 2240
기타 RMVXA 테두리색을 바꾸면 굵기도 바뀌고 폰트가 적용이 안됩니다.. 3 file 스피아 2019.03.01 358
스크립트 사용 RMVXA 턴제전투 끝나고 나오는 이벤트에서 SE 오류 유리컵 2020.03.30 40
RMVXA 턴제에서 히트후 데미지 표시 순서. 로브남 2012.08.25 983
RMVXA 턴제 전투할때 적 HP 표시 방법 질문드립니다. 2 H.M. 2013.10.17 992
RMVXA 턴제 전투에서 병렬이벤트 적용 기폭 2017.02.03 73
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 149 Next
/ 149