设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

XP事件行走图描边脚本260402

查看数: 877 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2026-3-22 06:47

正文摘要:

本帖最后由 HFDange 于 2026-4-2 21:09 编辑 效果图:

回复

冰人13 发表于 2026-3-24 14:20:19
在 CharactorStroker.draw 方法中存在一个致命Bug:Bitmap内存泄漏。

在draw方法中,有这样一行代码:
lists[id].bitmap = Bitmap.new(rw+2, rh+2)
当事件行走或转身时,状态改变,sync会调用draw。每次调用draw,都会Bitmap.new生成一张新的位图赋值给Sprite。
但你没有释放旧的Bitmap。

建议将原本的这段代码:
RUBY 代码复制
  1. lists[id].ox = rw / 2
  2.     lists[id].oy = rh
  3.     lists[id].bitmap = Bitmap.new(rw+2, rh+2)
  4.     rx = tevent.pattern * rw


修改为:
RUBY 代码复制
  1. lists[id].ox = rw / 2
  2.     lists[id].oy = rh
  3.     if lists[id].bitmap != nil && !lists[id].bitmap.disposed?
  4.       lists[id].bitmap.dispose
  5.     end
  6.     lists[id].bitmap = Bitmap.new(rw+2, rh+2)
  7.     rx = tevent.pattern * rw
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2026-7-21 22:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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