升级加点脚本
来源:互联网 发布:linux tmp 编辑:程序博客网 时间:2024/04/28 22:50
LEVEL_UP_POINT = 5 # 每升一级所增加的点数
LEVEL_UP_VARIABLE = 100 # 储存角色点数的变量编号与角色id编号的差值
#==============================================================================
# ■ Window_Lvup
#------------------------------------------------------------------------------
# 显示升级状态窗口。
#==============================================================================
class Window_Lvup < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
# actor : 角色
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_graphic(@actor, 0, 0)
self.contents.font.size = 16
draw_actor_name(@actor, 80, 0)
draw_actor_level(@actor, 80, 24)
draw_actor_now_exp(@actor, 80, 48)
draw_actor_next_exp(@actor, 80, 72)
draw_actor_hp(@actor, 0, 126, 172)
draw_actor_sp(@actor, 0, 152, 172)
draw_actor_parameter(@actor, 0, 176, 0)
draw_actor_parameter(@actor, 0, 200, 1)
draw_actor_parameter(@actor, 0, 224, 2)
draw_actor_parameter(@actor, 0, 248, 3)
draw_actor_parameter(@actor, 0, 272, 4)
draw_actor_parameter(@actor, 0, 296, 5)
draw_actor_parameter(@actor, 0, 320, 6)
draw_actor_parameter(@actor, 0, 344, 7)
draw_actor_parameter(@actor, 0, 370, 8)
draw_actor_parameter(@actor, 0, 394, 9)
draw_actor_parameter(@actor, 0, 418, 10)
end
end
#==============================================================================
# ■ Scene_Lvup
#------------------------------------------------------------------------------
# 处理升级画面的类。
#==============================================================================
class Scene_Lvup
#--------------------------------------------------------------------------
# ● 初始化对像
# actor_index : 角色索引
# menu_index : 选项起始位置
#--------------------------------------------------------------------------
def initialize(actor_index = 0 , menu_index = 0)
@actor_index = actor_index
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
s1 = "增加体质"
s2 = "增加力量"
s3 = "增加耐力"
s4 = "增加魔力"
s5 = "增加敏捷"
s6 = "退出"
#@actor = $game_party.actors[@actor_index]
@actor = $game_actors[@actor_index]
@lvup_window = Window_Lvup.new(@actor)
@command = Window_Command.new(150,[s1,s2,s3,s4,s5,s6])
@command.x = 340
@command.y = 220
@command.active = true
Graphics.transition(40, "Graphics/Transitions/" + $data_system.battle_transition)
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果切换画面就中断循环
if $scene != self
break
end
end
# 准备过渡
Graphics.freeze
# 释放窗口
@command.dispose
@lvup_window.dispose
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
# 刷新窗口
@command.update
@lvup_window.update
#=============================================================
# 按下 B 键的情况下
#=============================================================
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 切换到菜单画面
$scene = Scene_Menu.new
return
end
#=============================================================
# 按下 C 键的情况下
#=============================================================
if Input.trigger?(Input::C)
if $game_variables[@actor.id + LEVEL_UP_VARIABLE] > 0
if @command.index == 0
@actor.ti += 1
@actor.hp = @actor.maxhp
$game_variables[@actor.id + LEVEL_UP_VARIABLE] -= 1
$game_system.se_play($data_system.decision_se)
@lvup_window.refresh
elsif @command.index == 1
@actor.str += 1
$game_variables[@actor.id + LEVEL_UP_VARIABLE] -= 1
$game_system.se_play($data_system.decision_se)
@lvup_window.refresh
elsif @command.index == 2
@actor.dex += 1
$game_variables[@actor.id + LEVEL_UP_VARIABLE] -= 1
$game_system.se_play($data_system.decision_se)
@lvup_window.refresh
elsif @command.index == 3
@actor.int += 1
@actor.sp = @actor.maxsp
$game_variables[@actor.id + LEVEL_UP_VARIABLE] -= 1
$game_system.se_play($data_system.decision_se)
@lvup_window.refresh
elsif @command.index == 4
@actor.min += 1
$game_variables[@actor.id + LEVEL_UP_VARIABLE] -= 1
$game_system.se_play($data_system.decision_se)
@lvup_window.refresh
elsif @command.index == 5
$game_system.se_play($data_system.decision_se)
# 切换到菜单画面
$scene = Scene_Menu.new
end
else
if @command.index == 5
$game_system.se_play($data_system.decision_se)
# 切换到菜单画面
$scene = Scene_Menu.new
else
$game_system.se_play($data_system.buzzer_se)
end
end
end
end
end
- 升级加点脚本
- 升级后手动加点系统·1.2版·
- 加点、打怪、升级、《问道》新区全攻略
- 数据库升级脚本
- Trophie升级脚本
- MySQL数据库升级脚本
- 数据库升级脚本制作
- gitlab升级脚本
- 升级Python版本脚本
- arm 自动升级脚本
- 制作升级包脚本
- 红眼加点
- xlistview加点
- ViewPager加点
- SqlServer 初始化和升级脚本
- gp升级脚本gpmigrator笔记
- Linux下远程升级脚本
- Linux下远程升级脚本
- LightOJ 1014 Ifter Party
- [JavaScript] JavaScript Module Pattern: In-Depth (by Ben Cherry)
- C#实现对数据库的操作
- android:PANIC: Could not open: C:\Documents and Settings\Administrator\.android/avd/
- 1 搭建EasyUI环境
- 升级加点脚本
- linux下查看历史日志
- OpenVZ搭建PPTP VPN(CentOS 6)
- 流星雨脚本
- DHCP服务器学习之dhcp配置
- 未来几年的IT发展方向-目前的趋势已经非常明朗
- win7下 VMware 9.0安装 MAC OS 10.8
- 数据库顶级会议介绍:VLDB、SIGMOD、ICDE
- Redmine客户端项目问题汇总