Adev事务所

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

28

积分

0

好友

2

主题
发表于 2026-1-21 15:35:49 | 查看: 27| 回复: 0
本帖最后由 夏乐 于 2026-1-21 16:01 编辑

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

一、颜色反相(Invert)处理的重构
原脚本使用 tktk_bitmap.dll 提供的 invert() 方法,在 URGE 引擎中需用原生操作替代:

  1. # 反相
  2.         #@bitmap.invert()
  3.         # 创建一个纯白色位图
  4.         white_bitmap = Bitmap.new(bitmap.width, bitmap.height)
  5.         white_bitmap.fill_rect(0, 0, bitmap.width, bitmap.height, Color.new(255, 255, 255, 0))
  6.         # 使用减法混合模式(如果可用)
  7.         # blend_type = 2 通常是减法混合
  8.         bitmap.blt(0, 0, white_bitmap, bitmap.rect, 255, 2)
  9.         # ==========================
复制代码
二、混合模式(Blend Type)的适配调整
将原接口blend_type的值3改为值2:
  1. # 乗算合成(3)
  2.     # =========================
  3.     # self.bitmap.blend_blt(p_x, p_y, light.bitmap, rect, 3)
  4.     self.bitmap.blt(p_x, p_y, light.bitmap, rect, 255, 2)
复制代码
三、完整脚本






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

QQ|Archiver|手机版|小黑屋|Adev事务所

GMT+8, 2026-2-1 00:57 , Processed in 0.070230 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表