查看: 1084|回复: 2

[原创发布] 【移植】烛光系统(VA -> XP -> RMXP_URGE)

[复制链接]
梦石
0
星屑
599
在线时间
213 小时
注册时间
2013-11-22
回帖
62
发表于 2026-1-21 15:31:25 | 显示全部楼层 |阅读模式


本次移植将原本为 RPG Maker XP 移植的烛光系统脚本(原帖:[原创发布] 【移植】烛光系统(VA -> XP)),从依赖外部DLL(tktk_bitmap.dll)调整为使用URGE引擎提供的原生 API。范例文件在原帖的基础上进行了修改。移植的过程没有弄明白原先tktk_bitmap和URGE中提供的blend_type的类型区别,直接修改接口会出现灯光变成亮光矩阵的问题(不知道为什么),主要的修改有:

一、颜色反相(Invert)处理的重构
原脚本使用 tktk_bitmap.dll 提供的 invert() 方法,在 URGE 引擎中需用原生操作替代:
[pre lang="ruby"]
        # 反相
        #@bitmap.invert()
        # 创建一个纯白色位图
        white_bitmap = Bitmap.new(bitmap.width, bitmap.height)
        white_bitmap.fill_rect(0, 0, bitmap.width, bitmap.height, Color.new(255, 255, 255, 0))
        # 使用减法混合模式(如果可用)
        # blend_type = 2 通常是减法混合
        bitmap.blt(0, 0, white_bitmap, bitmap.rect, 255, 2)
        # ==========================[/pre]

二、混合模式(Blend Type)的适配调整
将原接口blend_type的值3改为值2:
[pre lang="ruby"]   
    # 乗算合成(3)
    # =========================
    # self.bitmap.blend_blt(p_x, p_y, light.bitmap, rect, 3)
    self.bitmap.blt(p_x, p_y, light.bitmap, rect, 255, 2)[/pre]


三、完整脚本

va烛光_urge.rb (9.05 KB, 下载次数: 5)



四、范例下载


购买主题 已有 12 人购买  本主题需向作者支付 1 星屑 才能浏览
RM游戏【解密+剧情】绘之楼-第一章
点击前往
橙光游戏【短十】一个皮球
点击前往
梦石
2
星屑
13779
在线时间
2319 小时
注册时间
2011-6-4
回帖
586
发表于 2026-1-22 19:15:54 | 显示全部楼层
哦牛蛙终于有移植了。
BUG反馈请加QQ 529283039
水友群 917854767

回复

使用道具 举报

梦石
0
星屑
639
在线时间
70 小时
注册时间
2019-4-28
回帖
2
发表于 2026-1-23 13:24:54 | 显示全部楼层
试试看怎么样。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部