查看: 2713|回复: 8

[随意闲聊] 才发现RMXP的bitmap连90度角都无法精确旋转

[复制链接]
梦石
0
星屑
8502
在线时间
7361 小时
注册时间
2010-7-16
回帖
4709

开拓者

发表于 2016-3-17 10:11:23 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

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

×
正常行走图旋转后会丢掉一行像素,算法简直太烂了。
梦石
0
星屑
1816
在线时间
2527 小时
注册时间
2010-10-12
回帖
1336

开拓者

发表于 2016-3-17 11:05:42 | 显示全部楼层
你真的在意这1排像素吗。。

点评

要是两个相同的行走图做衔接会很突兀。  发表于 2016-3-17 11:08

回复

使用道具 举报

梦石
0
星屑
1446
在线时间
6552 小时
注册时间
2010-12-30
回帖
8655
发表于 2016-3-17 12:20:55 | 显示全部楼层
3)X@)~3~9[3%~])IUUYP~]V.gif 听起来在策划横向重力的特殊关卡吗。

点评

只是一个过场动画而已。两个场景的行走图总是对不齐,才发现的。  发表于 2016-3-17 12:34
回复

使用道具 举报

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2016-3-17 13:59:50 | 显示全部楼层
Bitmap类居然有旋转功能,我怎么没发现?

点评

说错了,是sprite类  发表于 2016-3-17 21:06

评分

参与人数 1星屑 +90 收起 理由
正太君 + 90 头像好评...

查看全部评分

回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2016-3-17 18:42:38 | 显示全部楼层
本帖最后由 taroxd 于 2016-3-17 18:49 编辑

不在意效率的话可以手工 set_pixel...

或者一个比较蠢的办法:事先准备好一张旋转好的图片文件

点评

现在就是用蠢办法了  发表于 2016-3-17 21:07
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45714
在线时间
7951 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2016-3-17 18:45:11 | 显示全部楼层
在内存里搞搞吧,没什么好的方法
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
回帖
3243
发表于 2016-3-17 21:33:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
60
在线时间
705 小时
注册时间
2007-12-23
回帖
809
发表于 2016-4-9 23:07:22 | 显示全部楼层
Sprite的旋转应该是乘以[[cos,-sin],[sin,cos]],如果它内部实现的代码使用了一些比较过分的优化,容易使得三角函数丢失精度,出现这种情况。其实对于90度和180度这种特殊情况,可以直接乘以特殊的矩阵更好一些。
手动写显然是不现实的,因为Ruby这种脚本语言甚至无法通过指令集层面进行并行,更不要说硬件加速了,一个一个像素枚举过来慢得吓死人。。。我曾今写过手动高斯模糊,因为XP不自带模糊算法,写完后果断放弃,模糊640*480的地图要卡一秒。。只好借助外部DLL。
所以说还是再准备一张图比较靠谱,最多浪费一点位图缓存。。

点评

从RGSS的代码来看,比起“比较过分的优化”,更有可能就是烂。RGSS2的代码比RGSS好多了。  发表于 2016-4-10 08:55
买了正版RMMV的同学进来看一下,谢谢~
https://rpg.blue/thread-393237-1-1.html
回复

使用道具 举报

梦石
0
星屑
50
在线时间
313 小时
注册时间
2013-9-17
回帖
482
发表于 2016-4-10 06:35:48 | 显示全部楼层
再弄个图就完事了
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部