赞 | 2 |
VIP | 0 |
好人卡 | 0 |
积分 | 4 |
经验 | 0 |
最后登录 | 2024-8-2 |
在线时间 | 62 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 440
- 在线时间
- 62 小时
- 注册时间
- 2023-7-16
- 帖子
- 20
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 zlyl_wiley 于 2023-8-6 22:31 编辑
RGM是自带了控制台的,但那个好像并不能用来输入命令,只能干瞪着(还是我不会用啊?)
没事,里面不还自带了个TextBox么,所以自己做一下也很简单,出来效果还不错,随时输入指令都不用动一下鼠标
虽然依赖于RGM,但即使最终不用RGM,只要工程跟它不冲突的都可以用这个来做测试,因为用起来真的超方便
真正用的时候可以先在脚本里预设一些指令,名字简短一点,类似这样:
- def imm
- for actor in $game_party.actors
- actor.immortal = true
- end
- end
- def win
- for enemy in $game_troop.enemies
- enemy.hp = 0
- end
- end
- def g n
- $game_party.gain_gold(n)
- $scene = Scene_Menu.new if $scene.class == Scene_Menu
- end
复制代码
脚本:
- #==============================================================================
- # ■ RGM专用CLI输入框 v1.0.1
- #------------------------------------------------------------------------------
- # 使用说明:
- # 脚本插入 Main 前。此功能依赖于 RGM(1.0.4) ,其它 runtime 运行时不会加载。
- # 在以下指定的 Scene 中按 Alt 键呼出输入框,输入指令后按 Enter 键立刻执行,
- # Esc 键为清空内容,若中途想退出控制台,直接清空后按回车键即可。
- # 上、下键可以切换输入框的显示位置。
- #
- # Wiley 2023.8.5
- #==============================================================================
- if defined? RGM
- # 数组中是需要添加输入框的 Scene ,可自行增删
- $add_cli_scenes = [
- Scene_Title,
- Scene_Map,
- Scene_Menu,
- Scene_Item,
- Scene_Skill,
- Scene_Equip,
- Scene_Status,
- Scene_Battle,
- Scene_Shop,
- Scene_Debug
- ]
- module RGM
- module Ext
- module Window
- module_function
- def wiley_get_width
- @@width
- end
- def wiley_get_height
- @@height
- end
- end
- class TextBox
- attr_accessor :sprite
- end
- end
- end
- class Window_CLI < Window_Base
- def initialize
- super(16, 16, RGM::Ext::Window::wiley_get_width - 32, 64)
- self.back_opacity = 200 # 背景透明度设置
- end
- end
- $add_cli_scenes.each do |scene|
- scene.alias_method :wiley_old_update, :update
- scene.send :define_method, :update do
- if $tbox
- if Input.trigger?(Input::DOWN)
- $tbox.sprite.y = RGM::Ext::Window::wiley_get_height - $winc.height
- $winc.y = $tbox.sprite.y - 16
- elsif Input.trigger?(Input::UP)
- $winc.y = 16
- $tbox.sprite.y = 32
- end
- $tbox.update
- unless $tbox.active
- eval $tbox.last_text
- $winc.dispose
- $winc = $tbox = nil
- end
- elsif Input.trigger?(23) # 呼出按键设置
- $winc = Window_CLI.new
- $winc.z = 10010
- $tbox = RGM::Ext::TextBox.new
- $tbox.set_rect(32, 32, RGM::Ext::Window::wiley_get_width - 64, 32)
- # $tbox.default_text = 'p "hi"' # 这里可以设置默认输入内容
- $tbox.background_color = Color.new(0, 0, 0, 0)
- $tbox.text_color = Color.new(255, 255, 255, 255)
- $tbox.enable
- else
- wiley_old_update
- end
- end
- end
- end
复制代码 |
评分
-
查看全部评分
|