질문과 답변

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 12392
RMVXA [VXA]플레이어의 속도를 0으로 설정하는 방법? 8 sudoxe 2013.07.17 1087
RMVXA 후크 샷 스크립트 2 불청객 2013.01.17 1086
RMVXA 상점 숙련도 스크립트질문입니다. 11 글쎄,왜 난 적용이 안될까? 2012.08.27 1086
RMVXA 공격명령을 할 수 없네요... 4 file 불청객 2012.09.21 1081
RMVXA 간단한 질문입니다만.. 5 네루츠나 2013.04.14 1078
RMVXA 팝메세지 스크립트 사용시 공백이 심하게 나옵니다. 1 file 엔리스_판테모니엄 2013.02.11 1078
RMVXA 액션 알피지 무기만들기 질문 참깨빵위에순쇠고기패티두장특별한소스양상추치즈피클양파까지 2013.09.28 1078
RMVXA RPG MAKER VXA 강제저장, 자동저장 스크립트좀 알려주세요~ 쿠아아아앙 2014.09.19 1077
RMVXA 맵타일 설정 2 어학연수 2014.07.02 1077
RMVXA vxa암호기 없을까요? 2 죽은노예 2013.11.10 1075
RMVXA 샘플맵 파일이 존재하는데도 샘플맵이 안 떠요. 6 시대의방랑자 2014.01.15 1074
RMVXA 메세지박스 변경에 대하여 질문있습니다. 3 file Min's 2013.05.12 1072
RMVXA 계단(+사진첨부했어요 봐주세요ㅠㅠ) 7 file 혲이 2013.12.20 1071
RMVXA 텍스트 팝업 스크립트인데 화면 색조를 어둡게하면 안보여요.... 4 file 수이스 2013.11.24 1070
RMVXA "그림의 이동"에 걸리는 시간을 변수로 대체할 수 있을까요? 3 file Roam 2012.11.26 1069
RMVXA 전투형식 자체를 바꾸는건 무리겟죠? 2 아러리 2013.10.08 1066
RMVXA RPG만들기 Ace [자동회복]질문드립니다 2 하나비애 2013.08.17 1065
RMVXA 혹시 VX Ace용 타이틀 스킵 스크립트는 없나요? 1 채류인 2014.04.12 1064
RMVXA XAS 맨손이랑 칼착용시 그래픽이 겹칩니다. 1 안안녕 2013.01.26 1063
RMVXA 말 걸기 전까지 지속적으로 말풍선 아이콘 표시하고 싶은데요.. 3 아루쿠 2014.06.12 1062
Board Pagination Prev 1 ... 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ... 149 Next
/ 149