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

Project1

 找回密码
 注册会员
搜索
查看: 34808|回复: 89
打印 上一主题 下一主题

[原创发布] 【RGU】基于OpenGL&SDL2 RGSS 1/2/3 通用Runtime

[复制链接]

Lv4.逐梦者

梦石
0
星屑
19299
在线时间
3075 小时
注册时间
2013-1-11
帖子
1288
1
发表于 2021-7-27 21:18:12 | 显示全部楼层
本帖最后由 张咚咚 于 2021-7-28 00:17 编辑

这也太强了吧
不知道综合性能和RGD相比怎么样呢。
突然想将工程迁移过来XD(不过想到工程量有点想放弃了emmm)

稍微测了下,很直观的感受到流畅度爆表


RGD



在反馈几个测试遇到的问题~
1.音效的音量好像整体偏大了一点,同等音量好像比原版要大的多的多..
2.精灵的水波纹效果和tone好像有点问题。
3.再补充一个,当场上存在大量精灵的时候,会卡住一会,大概1~2秒,
   回过神来后精灵瞬间消失了(可能是大量释放的时候卡住了?), RGD的话是直接掉帧但不会卡住。
期待后续优化~
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19299
在线时间
3075 小时
注册时间
2013-1-11
帖子
1288
2
发表于 2022-1-4 18:24:32 | 显示全部楼层
本帖最后由 张咚咚 于 2022-1-4 23:16 编辑

更新了,支持一波。不知道什么时候可以把RGD的Sprite#add_child相关的几个方法更新,好想尽快把游戏移植到RGU
还有一个Input.trigger?(:F10/F11/F12)是检测的鼠标单击,就算EnableReset=0禁用了F12重启这三个键也还是检测的鼠标单击,不知道算不算bug

点评

收到  发表于 2022-1-15 17:34
220115版已更新,感谢提供建议  发表于 2022-1-15 11:47
Input原版支持的按键是按帮助文档写的,帮助文档里只写了F5-F9,所以其他我就没管( Sprite#add_child下个版本加入,感谢支持  发表于 2022-1-12 21:55
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19299
在线时间
3075 小时
注册时间
2013-1-11
帖子
1288
3
发表于 2022-1-15 20:47:00 | 显示全部楼层
本帖最后由 张咚咚 于 2022-1-15 21:06 编辑

反馈一个从RGD兼容过来的问题
  1. class Test
  2.   def initialize
  3.     @test = Color.new
  4.   end
  5. end
  6. # 保存
  7. File.open('test', 'wb') do |f|
  8.   Marshal.dump(Test.new, f)
  9. end
  10. # 读取
  11. File.open('test', 'rb') do |f|
  12.   p Marshal.load(f)
  13. end
复制代码

上面这段脚本是对一个类的实例进行存储读取。
只在RGD或RGU里写入+读取都没问题。。
但是如果在RGD里保存后, 然后在RGU里读取就会提示:Serialized data invalid
猜测可能是color存储的格式不一样导致的?


还有一个兼容问题:Bitmap.new(w, h) # 宽高必须要大于 0。
因为之前RGD旧工程的话填0是没问题的,当然这个可以用脚本解决, 不过如果能引擎兼容就更好了。


第三个反馈就是精灵的children,测试了下坐标好像并没有以父精灵为基准点。
应该是x, y, z, opacity, zoom_x, zoom_y, color, tone这些属性是和父类的属性进行关联。
子xyz = 父xyz + 子xyz
opacity,zoom,color,tone 等应该是:子opacity实际显示效果 = 父opacity * (子opacity / 255)
比如父opacity设置180,子opacity设置0,那实际效果就是0,子opacity设置255,那实际显示的透明程度也最高只到180。


第四个就是希望可以添加 Mouse.clip 方法。

还有一些与RGD逻辑不一样的,比如Mouse.scroll的值。
不过这些简单的用脚本三两句就转换过来了,应该没什么大问题。

另外辛苦了~,其他还有一些问题没找到具体原因,等找到了再来继续补充吧emmm


回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19299
在线时间
3075 小时
注册时间
2013-1-11
帖子
1288
4
发表于 2022-1-17 07:09:05 | 显示全部楼层
本帖最后由 张咚咚 于 2022-1-17 07:55 编辑
Admenri 发表于 2022-1-16 23:04
color与tone我用的都是8字节的double,与rgd4字节会有差异
Bitmap我感觉创建一个0*0的位图完全没有意义( ...

  1. red = Sprite.new
  2. red.bitmap = Bitmap.new(10,10)
  3. red.bitmap.fill_rect(red.bitmap.rect, Color.new(255,0,0))
  4. red.x = 300

  5. green = Sprite.new
  6. green.bitmap = Bitmap.new(10,10)
  7. green.bitmap.fill_rect(green.bitmap.rect, Color.new(0,255,0))
  8. green.x = 50

  9. red.add_child(green)

  10. loop{Graphics.update}
复制代码

比如上面这段脚本,正常应该是红点在300位置,绿点在350的位置。
但实际上是红点在300位置,绿点在50位置,绿点没生效父精灵的属性。

点评

另外Font.default_name好像没效果,不知道我使用方法对不对。字体放到了Fonts文件夹。但是好像还是读取的Default字体。  发表于 2022-1-18 09:26
辛苦了~测试了一下好像只有xyz生效了,opacity等属性好像没生效  发表于 2022-1-18 09:25
已修复,add后忘记更新状态了,感谢反馈  发表于 2022-1-17 23:02
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-6-17 17:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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