じ☆ve冰风 发表于 2026-7-30 14:00:50

Text Bar

Text Bar





Author: Death10





Introduction





Running text





Script





*Call script:





-On: $game_system.ads_option = 1





-Off: $game_system.ads_option = 2





-Change:





+Text: $game_system.ads_x = "Text"





+Background: $game_system.ads_back = "Back.png"



Spoiler                Code:       
#==============================================================================
# ** Text Bar
#==============================================================================
# Author: Death10
# http://gamesvts.com
# http://taotrochoi.com
#==============================================================================
# *Call script:
# -On: $game_system.ads_option = 1
# -Off: $game_system.ads_option = 2
# -Change:
# +Text: $game_system.ads_x = "Text"
# +Background: $game_system.ads_back = "Back.png"
#==============================================================================

$game_system = Game_System.new #DataManager.load_normal_database

module Cache
def self.load_bitmap2(file, hue = 0)
        @cache ||= {}
        if file.empty?
       empty_bitmap
        elsif hue == 0
       normal_bitmap(file)
        else
       hue_changed_bitmap(file, hue)
        end
end
end

class Game_System
attr_accessor :ads
attr_accessor :ads_on
attr_accessor :ads_x
attr_accessor :ads_option
attr_accessor :ads_back
alias initialize_ads initialize
def initialize
        initialize_ads
        @ads = "Text Bar"
        @ads_back = "Graphics/Titles1/#{$data_system.title1_name}"
        @ads_option = 1
        @ads_on = 1
        @ads_x = 0
end
end
class TB < Window_Base
def initialize
        super(0, 0, 544, 64)
        self.opacity = 0
        #$game_system = Game_System.new
        check
        refresh
end
def check
        case $game_system.ads_option
        when 1
        $game_system.ads_on = 1
        $game_system.ads_x = -contents.text_size($game_system.ads).width
        $game_system.ads_option = 0
        when 2
        $game_system.ads_on = 0
        $game_system.ads_option = 0
end
end
def refresh
        check
        contents.clear
        cx = contents.text_size($game_system.ads).width
        if $game_system.ads_x == -cx
        $game_system.ads_x = 544
        else
        $game_system.ads_x -= 0.5
        end
        if $game_system.ads_on == 1
        contents.blt(0, 0, Cache.load_bitmap2($game_system.ads_back), Rect.new(0, 0, 544, 32), 160)
        contents.draw_text($game_system.ads_x, 0, cx, 32, $game_system.ads, 2)
        end
end
def open
        super
        refresh
end
end

class Scene_Map < Scene_Base
alias caw create_all_windows
def create_all_windows
        caw
        @ads = TB.new
end
alias update_ads update
def update
        update_ads
        @ads.open
end
alias utp update_transfer_player
def update_transfer_player
        utp
        case $game_system.ads_on
        when 0
        @map_name_window.y = 0
        when 1
        @map_name_window.y = 44
        end
end
end






Screenshot





Spoiler
http://ng3.upanh.com/b5.s25.d1/1ce5ac2072bf056d847281ede6b84bde_39102533.untitled.png








本贴来自国际rpgmaker官方论坛作者:Death10处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/text-bar.3321/
页: [1]
查看完整版本: Text Bar