赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 13929 |
最后登录 | 2019-3-12 |
在线时间 | 216 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 80
- 在线时间
- 216 小时
- 注册时间
- 2011-9-17
- 帖子
- 151
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 工藤~新一じ 于 2016-5-2 03:11 编辑
在论坛搜索“遗忘”关键词,找了大部分帖子,没实现自己想要的效果,所以来伸手发帖了。
想做一个效果:
单独窗口,把队伍中第二位或者指定id的角色的所有技能列出来,选择哪个技能就遗忘哪个技能,按B键退出。。。
(。。。大大会扇脸伸手党吗?)
其实我在论坛找到了个不错的脚本:- class Game_Actor
- MAX_SKILL_NUM = 5
- alias :rsn_learn_skill :learn_skill
- def learn_skill(skill_id)
- rsn_learn_skill(skill_id)
- if @skills.size > MAX_SKILL_NUM
- @window_rsn = Window_Forget_Skill.new(0 , 120 , 320 , 240 , self)
- loop do
- Graphics.update
- Input.update
- @window_rsn.update
- break if @window_rsn.disposed?
- end
- end
- end
- end
- class Window_Forget_Skill < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 初始化对像
- # x : 窗口 X 座标
- # y : 窗口 Y 座标
- # width : 窗口宽度
- # height : 窗口高度
- # actor : 角色
- #--------------------------------------------------------------------------
- def initialize(x, y, width, height, actor)
- super(x, y, width, height)
- @actor = actor
- @column_max = 1
- self.index = 0
- refresh
- end
- #--------------------------------------------------------------------------
- # ● 获取技能
- #--------------------------------------------------------------------------
- def skill
- return @data[self.index]
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- if self.contents != nil
- self.contents.dispose
- self.contents = nil
- end
- @data = []
- for id in @actor.skills
- @data.push($data_skills[id])
- end
- @item_max = @data.size
- if @item_max > 0
- self.contents = Bitmap.new(width - 32, @item_max * 32)
- for i in 0...@item_max
- draw_item(i)
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● 描绘项目
- # index : 项目编号
- #--------------------------------------------------------------------------
- def draw_item(index)
- x = 4
- y = index * 32
- skill = @data[index]
- draw_item_name(skill, x, y)
- end
- alias :rsn_update :update
- def update
- rsn_update
- if Input.trigger?(Input::B)
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- if Input.trigger?(Input::C)
- $game_system.se_play($data_system.decision_se)
- @actor.forget_skill(skill.id)
- self.dispose
- return
- end
- end
- end
复制代码 这个脚本是当角色学会技能时做一个判断,如果学会的技能在5个以上,就打开窗口,列出所有技能,再选择技能删除。
其实我想做的效果就和这个一样。所以有大大愿意帮我改吗? |
评分
-
查看全部评分
|