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

Project1

 找回密码
 注册会员
搜索
查看: 2074|回复: 27

[已经过期] 关于把文字简介变成图片

[复制链接]

Lv2.观梦者

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
帖子
290

贵宾

发表于 2017-12-28 20:55:35 | 显示全部楼层 |阅读模式

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

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

x
#-------------------------------------------------------------------------------
    # ·音乐选择播放器  By 退屈£无聊
    #-------------------------------------------------------------------------------
    # 呃。无聊写个东西玩先。 Update V1.02
    # 介绍说明。音乐的设置格式 @music* = [名称,文件名, 简介],注意文字要加引号!
    # 加了歌的话,在调用choose_music也要注意了。
    # 相信也应该制作完成了吧。没有BUG了吧-0-。
    $是否退出关闭音乐 = true
    #-------------------------------------------------------------------------------
    class Scene_Music
    #===================================================
    # ·主过程
    #===================================================
      def main
        @music1 = ["出阵", "出阵", ]
        @music2 = ["蛭小岛", "蛭小岛", ]
        @music3 = ["京都", "京都", ]
        @music_command = Window_Command.new(200, [@music1[0], @music2[0], @music3[0]])
        @music_command.x = 0
        @music_command.y = 0
        @music_command.opacity = 150
        @music_command.z = 9999
        @help_window = Window_MusicHelp.new
        @help_window.x = 200
        @help_window.y = 0
        @help_window.width = 440
        @help_window.height = 480
        @help_window.opacity = 150
        @help_window.z = 9999
        # 执行过渡
        Graphics.transition
        # 主循环
        loop do
          # 刷新游戏画面
          Graphics.update
          # 刷新输入信息
          Input.update
          # 刷新画面
          choose_music([@music1, @music2, @music3]) # 音乐如果有填加,不要忘了在这里填加!
          # 如果画面被切换的话就中断循环
          if $scene != self
            break
          end
        end
        # 准备过渡
        Graphics.freeze
        # 释放窗口
        @music_command.dispose
        @help_window.dispose
      end
    #==========================================================================
    # ·选歌过程
    #==========================================================================
    def choose_music(music)
      @music_command.update
      @help_window.update
      @musicfile = music
      if Input.trigger?(Input::B)
        $scene = Scene_Map.new
        if $是否退出关闭音乐
        $game_map.autoplay
        end
      end
      if Input.trigger?(Input::C)
        @music_name = "#{@musicfile[@music_command.index][1]}"
        Audio.bgm_play("Audio/BGM/" + @music_name , 84, 0)
      end
      @help_window.draw_music("#{@musicfile[@music_command.index][2]}")
    end
    #===========================透明部分==================================
    module XRXS_MP7_Module
      def create_spriteset
        @spriteset = Spriteset_Map.new
      end
      def dispose_spriteset
        @spriteset.dispose
      end
    end
    include XRXS_MP7_Module
      alias xrxs_mp7_main main
      def main
        create_spriteset
        xrxs_mp7_main
        dispose_spriteset
      end
    #=========不需要的删到这里为止======================
  end
    #==============================================================================
    # ■ Window_Music
    #------------------------------------------------------------------------------
    #  音乐简介显示窗口。
    #==============================================================================

    class Window_MusicHelp < Window_Base
      #--------------------------------------------------------------------------
      # ● 初始化对像
      #--------------------------------------------------------------------------
      def initialize
        super(240, 0, 400, 480)
        self.contents = Bitmap.new(self.width - 32, self.height - 32)
      end
      #--------------------------------------------------------------------------
      # ● 描绘音乐
      #--------------------------------------------------------------------------
      def draw_music(music)
        self.contents.clear
        # 记录文字x坐标
        x = 0
        # 记录文字y坐标
        y = 0
        # 记录换行时y坐标最小加值
        min_y = 0
        self.contents.font.color = normal_color
        # 描绘音乐简介
        text = music
        # 限制文字处理
        begin
          last_text = text.clone
          text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
        end until text == last_text
        text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
          $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
        end
        # c 获取 1 个字 (如果不能取得文字就循环)
        while ((c = text.slice!(/./m)) != nil)
          # 另起一行文字的情况下
          if c == "\n"
            y += [32, min_y].max
            min_y = 0
            x = 0
            # 下面的文字
            next
          end
          # 自动换行处理
          if x + self.contents.text_size(c).width > self.contents.width
            y += [32, min_y].max
            min_y = 0
            x = 0
          end
          # 描绘文字
          self.contents.draw_text(4 + x, y, 40, 32, c)
          # x 为要描绘文字的加法运算
          x += self.contents.text_size(c).width
        end
      end
    end


这是个音乐播放器的脚本,请问如何把这个脚本的“简介”里的文字简介变成图片

Lv2.观梦者

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
帖子
290

贵宾

 楼主| 发表于 2017-12-28 21:13:45 | 显示全部楼层
效果就是右侧的原文字简介变成图片
QQ截图20171228211245.png

点评

在脚本里放图片呀  发表于 2017-12-29 18:31
这个对话框是用脚本显示出来的,一般的显示图片无法覆盖到对话框上,颜色很浅  发表于 2017-12-29 18:27
那你先找一张图片,然后显示这张图片不就好了  发表于 2017-12-29 18:24
右边那个大方框本来是显示文字的(作为歌曲的简介),现在我想把它替换成图片  发表于 2017-12-29 18:23
对  发表于 2017-12-29 18:22
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3288
在线时间
1463 小时
注册时间
2014-8-9
帖子
337
发表于 2017-12-29 18:35:16 | 显示全部楼层
def draw_bitmap(name, x, y, type = false)
   pic = name + ".png"
    @bitmap = Bitmap.new("Graphics/Pictures/#{pic}")
     rect = Rect.new(@bitmap.width, @bitmap.height, 80, 80)
    x -= rect.width / 2
    y -= rect.height/2
    self.contents.blt(x, y,@bitmap, rect, self.contents.font.color.alpha)
  end
比如写个这个插到脚本里
然后在draw_music那里
把显示文字的擦了 写上 draw_bitmap(name,x,y)
参数你自己设吧

点评

这个问题困扰了我很久。请您帮助我。  发表于 2017-12-29 19:30
我想弄成点一个选项就换成单独的图片那种  发表于 2017-12-29 19:16
我改了没成功  发表于 2017-12-29 19:15
能请你帮我改个范例吗  发表于 2017-12-29 19:11
回复 支持 反对

使用道具 举报

Lv2.观梦者

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
帖子
290

贵宾

 楼主| 发表于 2017-12-29 19:28:10 | 显示全部楼层
huajinyu123 发表于 2017-12-29 18:35
def draw_bitmap(name, x, y, type = false)
   pic = name + ".png"
    @bitmap = Bitmap.new("Graphics/ ...

类似于这种效果
QQ截图20171229192431.png
QQ截图20171229192447.png

点评

稍等  发表于 2017-12-29 20:55
那你先发我一个范例  发表于 2017-12-29 20:37
回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
帖子
290

贵宾

 楼主| 发表于 2017-12-29 21:05:23 | 显示全部楼层
huajinyu123 发表于 2017-12-29 18:35
def draw_bitmap(name, x, y, type = false)
   pic = name + ".png"
    @bitmap = Bitmap.new("Graphics/ ...

请您看看

音乐鉴赏.rar

541.23 KB, 下载次数: 81

回复 支持 反对

使用道具 举报

Lv2.观梦者

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
帖子
290

贵宾

 楼主| 发表于 2017-12-30 00:43:35 | 显示全部楼层
@越前リョーマ 想请教您,工程在5L。请您不吝赐教。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3288
在线时间
1463 小时
注册时间
2014-8-9
帖子
337
发表于 2017-12-30 11:12:46 | 显示全部楼层
改成这样?
我自己下了几张图片放了进去

音乐鉴赏2.rar

638.05 KB, 下载次数: 88

点评

放到有些脚本下面就会显示图片,反之就是文字,奇怪  发表于 2017-12-30 12:28
太感谢您了,我能给的经验不多。十分感谢!  发表于 2017-12-30 12:03
如果要改位置,你就改改x和y的值  发表于 2017-12-30 11:13

评分

参与人数 2星屑 +35 +1 收起 理由
RyanBern + 35 塞糖
z121310 + 1 塞糖

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

秀才

梦石
0
星屑
587
在线时间
156 小时
注册时间
2008-7-23
帖子
290

贵宾

 楼主| 发表于 2017-12-30 12:15:38 | 显示全部楼层
huajinyu123 发表于 2017-12-30 11:12
改成这样?
我自己下了几张图片放了进去

我用的我的工程里就只会显示图片的名字,这是什么情况呢

点评

要不你还有什么其它的脚本冲突了?  发表于 2017-12-30 14:10
我的意思是,整个脚本在一系列脚本里的位置  发表于 2017-12-30 12:59
那是你没有放对吧 下面的draw——bitmap也要放进去 上面的draw——music里也有相应的改动  发表于 2017-12-30 12:51
就是这个脚本放到某些脚本上面,简介那一栏就不会显示图片而是这个图片的文件名  发表于 2017-12-30 12:33
什么意思?不明白  发表于 2017-12-30 12:25
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 22:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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