设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2268|回复: 1
打印 上一主题 下一主题

[已经过期] 地图名称窗口脚本怎样写

[复制链接]

Lv1.梦旅人

梦石
0
星屑
65
在线时间
21 小时
注册时间
2014-9-7
帖子
22
跳转到指定楼层
1
发表于 2014-12-9 20:10:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
地图名称窗口脚本怎样写

360截图20141209200609039.jpg (60.88 KB, 下载次数: 15)

360截图20141209200609039.jpg

360截图20141209200627967.jpg (42.84 KB, 下载次数: 14)

360截图20141209200627967.jpg

Lv1.梦旅人

梦石
0
星屑
50
在线时间
206 小时
注册时间
2014-2-8
帖子
396
2
发表于 2014-12-9 20:36:36 | 只看该作者

  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================


  4. #==============================================================================
  5. # ■ 地图名显示脚本
  6. #      by Yuee
  7. #------------------------------------------------------------------------------
  8. # 在Main的上方插入一个页,将本脚本复制到那页中即可
  9. #==============================================================================

  10. #==============================================================================
  11. # ■ Window_MapName
  12. #------------------------------------------------------------------------------
  13. #    显示地图名字的窗口。
  14. #==============================================================================

  15. class Window_MapName < Window_Base
  16.    #--------------------------------------------------------------------------
  17.    # ● 类常量定义
  18.    #--------------------------------------------------------------------------

  19.    # 暂时屏蔽用的开关
  20.    SWITCH = 20

  21.    # 窗口位置设定
  22.    NAME_X = 209       # 矩形左上顶点X坐标
  23.    NAME_Y = 24        # 矩形左上顶点Y坐标
  24.    NAME_W = 220       # 矩形宽
  25.    NAME_H = 60        # 矩形高

  26.    # 显示时间设置
  27.    SHOW_TIME_0 = 10   # 地图名出现前等待的帧数
  28.    SHOW_TIME_1 = 10   # 地图名从不可见变成可见的帧数
  29.    SHOW_TIME_2 = 34   # 地图名完全可见的帧数
  30.    SHOW_TIME_3 = 16   # 地图名从可见变成不可见的帧数

  31.    # 完全可见时的透明度设置
  32.    OPACITY_1 = 244    # 边框
  33.    OPACITY_2 = 255    #144    # 背景
  34.    OPACITY_3 = 255    # 文字

  35.    # 地图名字的颜色
  36.    TEXT_COLOR = Color.new(255, 255, 255, 255)
  37.    TEXT_COLOR2 = Color.new(255, 255, 255, 255)
  38.    TEXT_COLOR3 = Color.new(255, 255, 255, 255)
  39.    #--------------------------------------------------------------------------
  40.    # ● 初始化状态
  41.    #--------------------------------------------------------------------------
  42.    def initialize
  43.      super(NAME_X , NAME_Y, NAME_W, NAME_H)
  44.      # 初始化窗口透明度
  45.      self.opacity = 0
  46.      self.back_opacity = 0
  47.      self.contents_opacity = 0
  48.      self.contents = Bitmap.new(width - 32, height - 32)
  49.      # 剩余帧数初始化
  50.      @show_time = 0


  51. end
  52.    #--------------------------------------------------------------------------
  53.    # ● 输出文字
  54.    #--------------------------------------------------------------------------
  55.    def setname
  56.     # if $data_system.start_map_id==10
  57.     #   $game_player.transparent=true
  58.     #   $begin_....=true
  59.    # else
  60.      # $begin_....=false
  61.     #    end
  62.      unless $game_switches[SWITCH]==true
  63.        # 获取地图ID
  64.        newid = $game_map.map_id
  65.        time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3 + 40
  66.        # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
  67.        if newid != @id and newid != 10 and newid != 34
  68.          @id = newid
  69.          @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3+40
  70.        # 剩余帧数为0时,全部窗口透明
  71.        elsif @show_time < 1
  72.          self.opacity = 0
  73.          self.back_opacity = 0
  74.          self.contents_opacity = 0
  75.          return
  76.        end     
  77.        self.contents.clear
  78.        self.contents.font.color = TEXT_COLOR
  79.        # 描绘地图名        
  80.         self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
  81.        # 根本帧数设定窗口透明度
  82.        if @show_time > (SHOW_TIME_2 + SHOW_TIME_3 + 40)


  83.          self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  84.          self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
  85.          self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  86.        else
  87.          self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
  88.          self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
  89.          self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
  90.        end     
  91.        @show_time -= 1
  92.      end
  93.      end
  94. end

  95. #==============================================================================
  96. # ■ Scene_Map
  97. #------------------------------------------------------------------------------
  98. #    处理地图画面的类。(追加定义)
  99. #==============================================================================

  100. class Scene_Map
  101.    alias smn_main main
  102.    def main
  103.      @mapname = Window_MapName.new
  104.      smn_main
  105.      @mapname.dispose
  106.    end

  107.    alias smn_update update
  108.    def update
  109.      @mapname.setname
  110.      smn_update
  111.    end
  112. end

  113. #==============================================================================
  114. # ■ Scene_Title
  115. #------------------------------------------------------------------------------
  116. #    处理标题画面的类。(追加定义)
  117. #==============================================================================

  118. class Scene_Title
  119.    alias smn_main main
  120.    def main
  121.      # 读取地图信息文件
  122.      $data_mapinfos = load_data("Data/MapInfos.rxdata")
  123.      smn_main
  124.    end
  125. end

  126. #==============================================================================
  127. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  128. #==============================================================================

复制代码

评分

参与人数 1星屑 +200 收起 理由
hys111111 + 200 感谢回答

查看全部评分

刚接触RPG的新人们裤艾来这里!在这里能够帮助你们提高自身的能力,让大家来帮助每个人实现自己的创意、构想!
也许你只是正在看RPG教程的新人,或者是正在努力学着制作自己的RPG的制作者,或者是狂热的RPG游戏喜爱者,
但都不重要!
加入我们,我们会帮助你实现梦想,或者帮助你更好的运用RPG并且创造个人的一片天地!周末我们会不定时间开放RM技术讨论活动或者RM经验交流课!
加入我们,我们愿意与你共同创造奇迹,共同进步!
QQ群号:329443038  
或者联系QQ:573932914
我们和你站在同一线!
要求只有:常能上线
我们会用十分的热情接纳你!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 22:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表