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

Project1

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

[有事请教] 怎么能让在光标内战斗指令中的某指令文字被放大?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3642
在线时间
912 小时
注册时间
2017-1-19
帖子
269
跳转到指定楼层
1
发表于 2024-3-6 22:12:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
比如:光标在攻击指令上的攻击文字就被放大,光标到了其它指令上攻击文字就恢复原样,其它指令也同攻击一样

Lv4.逐梦者

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

开拓者

2
发表于 2024-3-7 19:00:36 | 只看该作者
本帖最后由 魔法丶小肉包 于 2024-3-9 19:47 编辑

使用方法,放在main的上方
指令设定的时候分为两种情况
1.如果该指令不需要放大,那么
RUBY 代码复制
  1. add_command("不会放大的指令", :abc)

2.如果该指令需要放大,那么
RUBY 代码复制
  1. add_command("会放大的指令", :abc,true,[8,"+"])

情况2中,[8,"+"]其中8代表字体变动大小,"+"代表加法运算,比如默认字体大小24,那么[8,"+"]放大后为32
同样的,如果你想缩小,那么就是[尺寸,"-"]
按照比例变大就是[尺寸,"*"]
3.如果你不是默认系统,并且有脚本已经修改过了相关描绘函数,那么有几率会无效果,遇到这种情况的话请自行处理

RUBY 代码复制
  1. class Window_Command
  2.   alias dri draw_item
  3.   def draw_item(index)
  4.     if @list[index][:ext] && @list[index][:ext].is_a?(Array) && @index == index
  5.       contents.font.size = contents.font.size.send(@list[index][:ext][1],@list[index][:ext][0])
  6.     else
  7.       reset_font_settings
  8.     end
  9.     dri(index)
  10.   end
  11.   alias pcm process_cursor_move
  12.   def process_cursor_move
  13.     last_index = @index
  14.     pcm
  15.     re_draw_all_items if @index != last_index
  16.   end
  17.   def re_draw_all_items
  18.     item_max.times {|i| redraw_item(i) }
  19.   end
  20. end

点评

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3642
在线时间
912 小时
注册时间
2017-1-19
帖子
269
3
 楼主| 发表于 2024-3-8 14:19:48 | 只看该作者
魔法丶小肉包 发表于 2024-3-7 19:00
使用方法,放在main的上方
指令设定的时候分为两种情况
1.如果该指令不需要放大,那么

这个add_command("会放大的指令", :abc,true,[8,"+"])放在哪里?还是对原来的add_command进行修改?

点评

就是对原来的修改,这个只是举例,说明一下使用格式,使用的时候是需要在对应的地方进行修改的  发表于 2024-3-9 19:37
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3642
在线时间
912 小时
注册时间
2017-1-19
帖子
269
4
 楼主| 发表于 2024-3-8 19:48:07 | 只看该作者
add_command("攻击", :attack , true, [8,"+"] , @actor.attack_usable?)
如果这样用出现报错(5 for 4)

点评

这里的true代表的就是@actor.attack_usable?这个参数,如果没有这个参数,那么不能省略,需要用true或者false代替  发表于 2024-3-9 19:40
add_command("攻击", :attack , @actor.attack_usable?, [8,"+"] )  发表于 2024-3-9 19:38
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3642
在线时间
912 小时
注册时间
2017-1-19
帖子
269
5
 楼主| 发表于 2024-3-10 13:54:09 | 只看该作者
用在技能上行不通,add_command(name, :skill, true, stype_id),四个一个也少不了,[8,"+"]没地方放了
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

6
发表于 2024-3-10 18:21:43 | 只看该作者
本帖最后由 魔法丶小肉包 于 2024-3-10 18:29 编辑
shengfeng 发表于 2024-3-10 13:54
用在技能上行不通,add_command(name, :skill, true, stype_id),四个一个也少不了,[8,"+"]没地方放了 ...


情况1,按照默认不变
add_command("选项", :abc)
情况2,只改变字体
add_command("选项", :abc,true,[:size,8,"+"])
情况3,只识别技能类型
add_command(name, :skill, true, [:skill_type,stype_id])
情况4,2和3两个都要
add_command(name, :skill, true, [:skill_type,stype_id],[:size,8,"+"])
上述情况中,第三个参数的true可以为false,前三个参数的顺序必须固定

额外事项:
从第四项之后可以无限添加参数,且顺序无所谓(用于脚本扩展)
如果要添加自定义的参数,格式为[符号,参数1,参数2,....,参数n]
符号:任意名称,例如:abc,仅作为识别使用
参数1~参数n:最少1个,最多无限个,读取后用于脚本扩展
自定义之后在对应位置调用current_ext(符号,位置)来获取返回值,从而用于各种效果中
举例:
add_command(name, :skill, true, [:aaa,"aaa","bbb","ccc"])
current_ext(:aaa,3) => "ccc"
↑3为从:aaa之后的第一个参数开始数

关于额外事项的部分,仅在需要自行扩展功能的时候用,如果不确定该怎么做的话请忽略,只看情况1~4

RUBY 代码复制
  1. class Window_Command
  2.   alias dri draw_item
  3.   def draw_item(index)
  4.     reset_font_settings
  5.     @list[index][:ext].each do |i|
  6.       next unless @index == index
  7.       if i.is_a?(Array) && i[0] == :size
  8.         contents.font.size = contents.font.size.send(i[2],i[1])
  9.       end
  10.     end
  11.     dri(index)
  12.   end
  13.   alias pcm process_cursor_move
  14.   def process_cursor_move
  15.     last_index = @index
  16.     pcm
  17.     re_draw_all_items if @index != last_index
  18.   end
  19.   def re_draw_all_items
  20.     item_max.times {|i| redraw_item(i) }
  21.   end
  22.   def add_command(*args)
  23.     name,symbol,enabled,*ext = *args
  24.     enabled ||= true unless enabled == false
  25.     @list.push({:name=>name, :symbol=>symbol, :enabled=>enabled, :ext=>ext})
  26.   end
  27.   def current_ext(type,index = 1)
  28.     if current_data
  29.       current_data[:ext].each do |i|
  30.         if i.is_a?(Array) && i[0] == type
  31.           return i[index]
  32.         end
  33.       end
  34.     else
  35.       nil
  36.     end
  37.   end
  38. end
  39. class Scene_Battle
  40.   def command_skill
  41.     @skill_window.actor = BattleManager.actor
  42.     @skill_window.stype_id = @actor_command_window.current_ext(:skill_type)
  43.     @skill_window.refresh
  44.     @skill_window.show.activate
  45.   end
  46. end
  47. class Window_SkillCommand
  48.   def update
  49.     super
  50.     @skill_window.stype_id = current_ext(:skill_type) if @skill_window
  51.   end
  52. end
笨肉包的首款像素OC游戏《花城梦之心》尝试制作中~
目前的坑 【不可思议的迷宫】幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.28
大版本更新时才会更新网盘文件,预计下次大版本更新:v0.30
完成度:
主线 15% 支线 0% 数据库 6% 系统 86% 美术 6%
两边同时填坑~
( 这里是笨肉包~专修魔法!目标是大魔法师!
( 坑太大啦,一个人填不完啦hhh 一定会填完的嗯...
( 每天都和bug们比试魔力~吾之魔法将扫平一切!
( 弱点是美术,魔法修行之余再补补课吧~
( 哼哼哼~这便是魔法的力量!
大家都离开啦,笨肉包也不知道还能坚持多久呀...
这是属于笨肉包一个人的旅行(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3642
在线时间
912 小时
注册时间
2017-1-19
帖子
269
7
 楼主| 发表于 2024-3-10 19:57:22 | 只看该作者
情况4,2和3两个都要
add_command(name, :skill, true, [:skill_type,stype_id],[:size,8,"+"])这个行不通

点评

是报错还是没有效果?默认系统测试有效  发表于 2024-3-10 20:07
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3642
在线时间
912 小时
注册时间
2017-1-19
帖子
269
8
 楼主| 发表于 2024-3-10 22:36:15 | 只看该作者
本帖最后由 shengfeng 于 2024-3-11 13:42 编辑

找到问题了与其它脚本不兼容
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3642
在线时间
912 小时
注册时间
2017-1-19
帖子
269
9
 楼主| 发表于 2024-4-8 00:01:05 | 只看该作者
一直没有发现这个恶性bug,但是在菜单中打开技能时发现不显示技能
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

10
发表于 2024-4-8 17:40:25 | 只看该作者
shengfeng 发表于 2024-4-8 00:01
一直没有发现这个恶性bug,但是在菜单中打开技能时发现不显示技能

把之前的current_ext替换掉
RUBY 代码复制
  1. def current_ext(type,index = 1)
  2.     if current_data
  3.       current_data[:ext].each do |i|
  4.         return i unless i.is_a?(Array)
  5.         if i.is_a?(Array) && i[0] == type
  6.           return i[index]
  7.         end
  8.       end
  9.     else
  10.       nil
  11.     end
  12.   end
笨肉包的首款像素OC游戏《花城梦之心》尝试制作中~
目前的坑 【不可思议的迷宫】幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.28
大版本更新时才会更新网盘文件,预计下次大版本更新:v0.30
完成度:
主线 15% 支线 0% 数据库 6% 系统 86% 美术 6%
两边同时填坑~
( 这里是笨肉包~专修魔法!目标是大魔法师!
( 坑太大啦,一个人填不完啦hhh 一定会填完的嗯...
( 每天都和bug们比试魔力~吾之魔法将扫平一切!
( 弱点是美术,魔法修行之余再补补课吧~
( 哼哼哼~这便是魔法的力量!
大家都离开啦,笨肉包也不知道还能坚持多久呀...
这是属于笨肉包一个人的旅行(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 00:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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