| 赞 | 1 |
| VIP | |
| 好人卡 | |
| 积分 | 7 |
| 经验 | |
| 最后登录 | 2025-2-5 |
| 在线时间 | 100 小时 |
- 梦石
- 0
- 星屑
- 710
- 在线时间
- 100 小时
- 注册时间
- 2019-6-23
- 回帖
- 3
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 幸运四燕 于 2022-9-8 23:26 编辑
※ 前言
就是觉得走一步才三帧也太卡了,正好也在学RGSS3所以就按着系统的脚本照葫芦画瓢写了一个练练手
这个脚本是以XP的行走图作范例的,所以请根据实际情况修改脚本内容
另外这个脚本不支持八方位行走,等以后技术成熟了我在试着改改
※ 使用方式
在多帧数行走图的文件名上输入符号“%”即可
支持只有单个角色元的行走图_(:з」∠)_
行走图范例(XP的行走图)
8个角色元
单个角色元
※ 脚本
请展开
[pre lang="ruby"]#==============================================================================
# ■ 行走图多帧
#------------------------------------------------------------------------------
# 角色静止时显示的图像默认是第二列各行的图像。
# 另外,数据库里行走图的显示BUG忽略就好,不会影响最终效果。(但是看的好难受)
# 播放顺序是以角色静止的那一帧为首帧从左往右开始播放。
# 以XP的行走图为例 显示顺序大概是:
#
# ④ ① ② ③ (每一行均如此)
#
# 使用方法:导入容纳多个帧数的图像到"charater"并在文件名前面加上符号“%”
#==============================================================================
module YCF
CHARACTER_01 = 16 # 当行走图中容纳多个角色元时,有关宽的判定(行走图的宽的人
# 物数量)
CHARACTER_02 = 4 # 当行走图中仅容纳一个角色元时(即文件名有"$"),有关宽的判
# 定(行走图的宽的人物数量)
CHARACTER_03 = 4 # 单个角色元的宽的角色数量
end
class Sprite_Character
#--------------------------------------------------------------------------
# ● 角色的位图判定
#--------------------------------------------------------------------------
def set_character_bitmap
self.bitmap = Cache.character(@character_name)
sign = @character_name[/^[\!\$]./]
#--------------------------------------------------------------------------
# ● 多帧行走图的处理方法
#--------------------------------------------------------------------------
#判定是否为多帧行走图
if sign && sign.include?('%')
#行走图中有%的判定
@cw = bitmap.width / YCF::CHARACTER_01 #改成行走图的宽中人物的数量
@ch = bitmap.height / 8
#行走图中同时有%和$的判定
if sign && sign.include?('$')
@cw = bitmap.width / YCF::CHARACTER_02 #改成行走图的宽中人物的数量
@ch = bitmap.height / 4
else
end
#--------------------------------------------------------------------------
# ● Vx Ace的行走图的处理方法
#--------------------------------------------------------------------------
else
if sign && sign.include?('$')
#行走图中有$的判定
@cw = bitmap.width / 3
@ch = bitmap.height / 4
else
#行走图中无除!以外的特殊符号的判定
@cw = bitmap.width / 12
@ch = bitmap.height / 8
end
end
self.ox = @cw / 2
self.oy = @ch
end
#--------------------------------------------------------------------------
# ● 更新源矩形&源矩形兼容判定
#--------------------------------------------------------------------------
def update_src_rect
sign = @character_name[/^[\!\$]./]
if @tile_id == 0
index = @character.character_index
if sign && sign.include?('%')
pattern = @character.pattern < YCF::CHARACTER_03 ? @character.pattern : 1
#@character.pattern < 单个角色元的宽的人物数量
else
pattern = @character.pattern < 3 ? @character.pattern : 1
end
sx = (index % 4 * 3 + pattern) * @cw
sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
self.src_rect.set(sx, sy, @cw, @ch)
else
end
end
end
[/pre]
※ 使用规约
可以不署名。
不需要使用报告。
可以用于商业用途、参加比赛、R向作品等,不过不可以用于含有反动内容等违反当地法律、扰乱社会秩序的游戏作品里。
我不提供素材的后续支持。
使用素材的过程中产生的一切争议均与原作者、原站点无关。
转载随意,不过请放上素材的来源链接,禁止谎称素材为原创。
|
评分
-
查看全部评分
|