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

Project1

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

[已经解决] 这里有两个问题希望大神们帮忙解答~

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
22 小时
注册时间
2015-6-28
帖子
43
跳转到指定楼层
1
发表于 2016-12-25 13:21:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
第一个就是成就系统的问题:
如下1,2图。
第一张图是关于获得成就一瞬间所显示的横条,但由于成就名字较长字都挤在了一起,
第二张图是关于获得成就后打开成就列表,最上面的成就描述一旦字数多了起来字就会
飞出窗口....
至于成就系统的脚本页面楼下单独放出吧!
第二个问题是关于一个游戏结局后的谢幕演出。
第三张图是魔女之家结局后的谢幕
这个效果要怎么做出来呢?不用插入视频的方式直接在游戏里做这种左边
滚动字幕,背景黑底,右边有规律地显示一些图片。
求指点谢谢了!!!
{:2_270:}

QQ截图20161225130142.png (132.97 KB, 下载次数: 30)

QQ截图20161225130142.png

QQ截图20161225130216.png (100.54 KB, 下载次数: 33)

QQ截图20161225130216.png

QQ截图20161225130342.png (320.94 KB, 下载次数: 30)

QQ截图20161225130342.png

点评

http://rm.66rpg.com/forum.php?mod=viewthread&tid=376458&_dsign=6245a6cb(成就) http://rm.66rpg.com/forum.php?mod=viewthread&tid=371221&_dsign=df92a85c(基本能把你的所有问题解决)   发表于 2016-12-30 02:51

评分

参与人数 1星屑 +100 收起 理由
RaidenInfinity + 100 结帖

查看全部评分

Lv1.梦旅人

梦石
0
星屑
60
在线时间
22 小时
注册时间
2015-6-28
帖子
43
2
 楼主| 发表于 2016-12-25 13:24:39 | 只看该作者
本帖最后由 RaidenInfinity 于 2016-12-25 13:36 编辑

对了,补充一下...成就问题还有一个,第二张图里的日期也是挤在一起能不能改宽一些呢...

然后下面就是成就的脚本了。

RUBY 代码复制
  1. #==============================================================================
  2. # ■ Game_Party
  3. #==============================================================================
  4. class Game_Party
  5.   #--------------------------------------------------------------------------
  6.   # ● 公開インスタンス変数
  7.   #--------------------------------------------------------------------------
  8.   attr_reader   :medals                   # 獲得済みメダル
  9.   attr_reader   :new_medals               # 新規獲得メダル
  10.   attr_accessor :medal_info_count         # メダル情報表示カウント
  11.   attr_accessor :medal_info_opacity       # メダル情報表示不透明度
  12.   #--------------------------------------------------------------------------
  13.   # ● オブジェクト初期化
  14.   #--------------------------------------------------------------------------
  15.   alias tmmedal_game_party_initialize initialize
  16.   def initialize
  17.     tmmedal_game_party_initialize
  18.     @medals = []
  19.     @new_medals = []
  20.     @medal_info_count = 0
  21.     @medal_info_opacity = 0
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ○ メダルの獲得
  25.   #--------------------------------------------------------------------------
  26.   def gain_medal(medal_id)
  27.     return if @medals.any? {|medal| medal[0] == medal_id }
  28.     t = Time.now.strftime(" (%Y/%m/%d %H:%M)")
  29.     @medals.push([medal_id, t])
  30.     @new_medals.push([medal_id, t])
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ○ 獲得メダル情報の消去
  34.   #--------------------------------------------------------------------------
  35.   def delete_new_medal
  36.     @new_medals.shift
  37.   end
  38. end
  39.  
  40. #==============================================================================
  41. # ■ Game_Interpreter
  42. #==============================================================================
  43. class Game_Interpreter
  44.   #--------------------------------------------------------------------------
  45.   # ○ メダルの獲得
  46.   #--------------------------------------------------------------------------
  47.   def gain_medal(medal_id)
  48.     $game_party.gain_medal(medal_id)
  49.   end
  50. end
  51.  
  52. #==============================================================================
  53. # ■ Window_MenuCommand
  54. #==============================================================================
  55. class Window_MenuCommand
  56.   #--------------------------------------------------------------------------
  57.   # ● 独自コマンドの追加用
  58.   #--------------------------------------------------------------------------
  59.   alias tmmedal_window_menucommand_add_original_commands add_original_commands
  60.   def add_original_commands
  61.     tmmedal_window_menucommand_add_original_commands
  62.     unless TMMEDAL::HIDE_COMMAND && !medal_enabled
  63.       add_command(TMMEDAL::COMMAND_MEDAL, :medal, medal_enabled)
  64.     end
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ○ メダルの有効状態を取得
  68.   #--------------------------------------------------------------------------
  69.   def medal_enabled
  70.     !$game_party.medals.empty?
  71.   end
  72. end
  73.  
  74. #==============================================================================
  75. # □ Window_MedalInfo
  76. #==============================================================================
  77. class Window_MedalInfo < Window_Base
  78.   #--------------------------------------------------------------------------
  79.   # ● オブジェクト初期化
  80.   #--------------------------------------------------------------------------
  81.   def initialize
  82.     super(Graphics.width - window_width, 0, window_width, fitting_height(1))
  83.     self.opacity = 0
  84.     self.contents_opacity = $game_party.medal_info_opacity
  85.     refresh
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● ウィンドウ幅の取得
  89.   #--------------------------------------------------------------------------
  90.   def window_width
  91.     return 240
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● フレーム更新
  95.   #--------------------------------------------------------------------------
  96.   def update
  97.     super
  98.     if $game_party.medal_info_count > 0
  99.       self.contents_opacity += 16
  100.       $game_party.medal_info_count -= 1
  101.       $game_party.delete_new_medal if $game_party.medal_info_count == 0
  102.     else
  103.       self.contents_opacity -= 16
  104.       if self.contents_opacity == 0
  105.         open unless $game_party.new_medals.empty?
  106.       end
  107.     end
  108.     $game_party.medal_info_opacity = self.contents_opacity
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● ウィンドウを開く
  112.   #--------------------------------------------------------------------------
  113.   def open
  114.     refresh
  115.     TMMEDAL::SE_GAIN_MEDAL.play
  116.     $game_party.medal_info_count = 150
  117.     self.contents_opacity = 0
  118.     self
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ○ リフレッシュ
  122.   #--------------------------------------------------------------------------
  123.   def refresh
  124.     contents.clear
  125.     unless $game_party.new_medals.empty?
  126.       draw_background(contents.rect)
  127.       medal = TMMEDAL::MEDAL_DATA[$game_party.new_medals[0][0]]
  128.       rect = contents.rect.clone
  129.       draw_icon(medal[1], rect.x, rect.y)
  130.       rect.x += 24
  131.       rect.width -= 24
  132.       draw_text(rect, medal[0])
  133.     end
  134.   end
  135.   #--------------------------------------------------------------------------
  136.   # ○ 背景の描画
  137.   #--------------------------------------------------------------------------
  138.   def draw_background(rect)
  139.     temp_rect = rect.clone
  140.     temp_rect.width /= 2
  141.     contents.gradient_fill_rect(temp_rect, back_color2, back_color1)
  142.     temp_rect.x = temp_rect.width
  143.     contents.gradient_fill_rect(temp_rect, back_color1, back_color2)
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ○ 背景色 1 の取得
  147.   #--------------------------------------------------------------------------
  148.   def back_color1
  149.     Color.new(0, 0, 0, 192)
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ○ 背景色 2 の取得
  153.   #--------------------------------------------------------------------------
  154.   def back_color2
  155.     Color.new(0, 0, 0, 0)
  156.   end
  157. end
  158.  
  159. #==============================================================================
  160. # □ Window_Medal
  161. #==============================================================================
  162. class Window_Medal < Window_Selectable
  163.   #--------------------------------------------------------------------------
  164.   # ● オブジェクト初期化
  165.   #--------------------------------------------------------------------------
  166.   def initialize(x, y, width, height)
  167.     super
  168.     refresh
  169.     select(0)
  170.     activate
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # ● 桁数の取得
  174.   #--------------------------------------------------------------------------
  175.   def col_max
  176.     return 1
  177.   end
  178.   #--------------------------------------------------------------------------
  179.   # ● 項目数の取得
  180.   #--------------------------------------------------------------------------
  181.   def item_max
  182.     @data ? @data.size : 1
  183.   end
  184.   #--------------------------------------------------------------------------
  185.   # ● アイテムの取得
  186.   #--------------------------------------------------------------------------
  187.   def item
  188.     @data && index >= 0 ? @data[index] : nil
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # ● アイテムリストの作成
  192.   #--------------------------------------------------------------------------
  193.   def make_item_list
  194.     @data = $game_party.medals
  195.   end
  196.   #--------------------------------------------------------------------------
  197.   # ● 項目の描画
  198.   #--------------------------------------------------------------------------
  199.   def draw_item(index)
  200.     item = @data[index]
  201.     medal = TMMEDAL::MEDAL_DATA[item[0]]
  202.     rect = item_rect(index)
  203.     draw_icon(medal[1], rect.x, rect.y)
  204.     rect.x += 24
  205.     rect.width -= 216
  206.     draw_text(rect, medal[0])
  207.     rect.x = contents.width - 192
  208.     rect.width = 192
  209.     draw_text(rect, item[1], 2)
  210.   end
  211.   #--------------------------------------------------------------------------
  212.   # ● ヘルプテキスト更新
  213.   #--------------------------------------------------------------------------
  214.   def update_help
  215.     if item
  216.       medal = TMMEDAL::MEDAL_DATA[item[0]]
  217.       text = medal[2]
  218.       @help_window.set_text(text)
  219.     end
  220.   end
  221.   #--------------------------------------------------------------------------
  222.   # ● リフレッシュ
  223.   #--------------------------------------------------------------------------
  224.   def refresh
  225.     make_item_list
  226.     create_contents
  227.     draw_all_items
  228.   end
  229. end
  230.  
  231. #==============================================================================
  232. # ■ Scene_Map
  233. #==============================================================================
  234. class Scene_Map
  235.   #--------------------------------------------------------------------------
  236.   # ● 全ウィンドウの作成
  237.   #--------------------------------------------------------------------------
  238.   alias tmmedal_scene_map_create_all_windows create_all_windows
  239.   def create_all_windows
  240.     tmmedal_scene_map_create_all_windows
  241.     create_medal_window
  242.   end
  243.   #--------------------------------------------------------------------------
  244.   # ○ メダルウィンドウの作成
  245.   #--------------------------------------------------------------------------
  246.   def create_medal_window
  247.     @medal_window = Window_MedalInfo.new
  248.   end
  249. end
  250.  
  251. #==============================================================================
  252. # ■ Scene_Menu
  253. #==============================================================================
  254. class Scene_Menu
  255.   #--------------------------------------------------------------------------
  256.   # ● コマンドウィンドウの作成
  257.   #--------------------------------------------------------------------------
  258.   alias tmmedal_scene_menu_create_command_window create_command_window
  259.   def create_command_window
  260.     tmmedal_scene_menu_create_command_window
  261.     @command_window.set_handler(:medal, method(:command_medal))
  262.   end
  263.   #--------------------------------------------------------------------------
  264.   # ○ コマンド[メダル]
  265.   #--------------------------------------------------------------------------
  266.   def command_medal
  267.     SceneManager.call(Scene_Medal)
  268.   end
  269. end
  270.  
  271. #==============================================================================
  272. # □ Scene_Medal
  273. #==============================================================================
  274. class Scene_Medal < Scene_MenuBase
  275.   #--------------------------------------------------------------------------
  276.   # ● 開始処理
  277.   #--------------------------------------------------------------------------
  278.   def start
  279.     super
  280.     create_help_window
  281.     create_item_window
  282.   end
  283.   #--------------------------------------------------------------------------
  284.   # ○ アイテムウィンドウの作成
  285.   #--------------------------------------------------------------------------
  286.   def create_item_window
  287.     wy = @help_window.height
  288.     wh = Graphics.height - wy
  289.     @item_window = Window_Medal.new(0, wy, Graphics.width, wh)
  290.     @item_window.viewport = @viewport
  291.     @item_window.help_window = @help_window
  292.     @item_window.set_handler(:cancel, method(:return_scene))
  293.   end
  294. end

回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6260
在线时间
1481 小时
注册时间
2015-7-25
帖子
652

开拓者

3
发表于 2016-12-25 15:12:32 | 只看该作者
成就系统显示的那个字挤在一起的问题可以通过改一下窗口宽度来解决....
RUBY 代码复制
  1. class Window_MedalInfo < Window_Base
  2.   def window_width
  3.     return 240
  4.   end
  5. end

把那个240改大就行了
然后成就描述的话...可以通过\n来换行这样下面那行也能利用起来啦

评分

参与人数 1梦石 +1 收起 理由
RaidenInfinity + 1 认可答案

查看全部评分

笨肉包的首款像素OC游戏《花城梦之心》尝试制作中~
目前的坑 【不可思议的迷宫】幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.28
大版本更新时才会更新网盘文件,预计下次大版本更新:v0.30
完成度:
主线 15% 支线 0% 数据库 6% 系统 86% 美术 6%
两边同时填坑~
( 这里是笨肉包~专修魔法!目标是大魔法师!
( 坑太大啦,一个人填不完啦hhh 一定会填完的嗯...
( 每天都和bug们比试魔力~吾之魔法将扫平一切!
( 弱点是美术,魔法修行之余再补补课吧~
( 哼哼哼~这便是魔法的力量!
大家都离开啦,笨肉包也不知道还能坚持多久呀...
这是属于笨肉包一个人的旅行(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
22 小时
注册时间
2015-6-28
帖子
43
4
 楼主| 发表于 2016-12-26 13:53:24 | 只看该作者
魔法丶小肉包 发表于 2016-12-25 15:12
成就系统显示的那个字挤在一起的问题可以通过改一下窗口宽度来解决....
class Window_MedalInfo < Window_B ...

非常感谢!{:2_249:}
那么第二个问题请问有什么眉目嘛
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6260
在线时间
1481 小时
注册时间
2015-7-25
帖子
652

开拓者

5
发表于 2016-12-26 15:31:08 | 只看该作者
逆回十六夜 发表于 2016-12-26 13:53
非常感谢!
那么第二个问题请问有什么眉目嘛

未测试↓
2个事件并行处理,一个用来显示黑色背景和滚动文字,另一个用来显示图片
笨肉包的首款像素OC游戏《花城梦之心》尝试制作中~
目前的坑 【不可思议的迷宫】幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.28
大版本更新时才会更新网盘文件,预计下次大版本更新:v0.30
完成度:
主线 15% 支线 0% 数据库 6% 系统 86% 美术 6%
两边同时填坑~
( 这里是笨肉包~专修魔法!目标是大魔法师!
( 坑太大啦,一个人填不完啦hhh 一定会填完的嗯...
( 每天都和bug们比试魔力~吾之魔法将扫平一切!
( 弱点是美术,魔法修行之余再补补课吧~
( 哼哼哼~这便是魔法的力量!
大家都离开啦,笨肉包也不知道还能坚持多久呀...
这是属于笨肉包一个人的旅行(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
22 小时
注册时间
2015-6-28
帖子
43
6
 楼主| 发表于 2016-12-27 17:36:05 | 只看该作者
魔法丶小肉包 发表于 2016-12-26 15:31
未测试↓
2个事件并行处理,一个用来显示黑色背景和滚动文字,另一个用来显示图片 ...

好像行不通的样子阿...不过也感谢一下吧!{:2_282:}
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

7
发表于 2016-12-27 19:03:20 | 只看该作者
第二个问题,默认的滚动文字也是会挂起其他事件处理的
如果不想加其他脚本或修改默认脚本,你可以直接把最后的滚动字幕做成一张长图片,这样能一边移动它(不要设置等待至移动结束),一边设置右侧演出

评分

参与人数 1星屑 +250 收起 理由
RaidenInfinity + 250 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
22 小时
注册时间
2015-6-28
帖子
43
8
 楼主| 发表于 2016-12-28 18:14:28 | 只看该作者
本帖最后由 逆回十六夜 于 2016-12-28 18:17 编辑
百里_飞柳 发表于 2016-12-27 19:03
第二个问题,默认的滚动文字也是会挂起其他事件处理的
如果不想加其他脚本或修改默认脚本,你可以直接把最 ...


好的非常感谢!{:2_249:}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 03:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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