查看: 3174|回复: 9

[已经解决] 如何取消Tilemap类默认的自循环(类似电脑壁纸的铺满)

[复制链接]
梦石
0
星屑
4657
在线时间
1069 小时
注册时间
2013-3-28
回帖
309

开拓者

发表于 2021-7-31 00:45:06 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 陈大帅帅帅哥 于 2021-7-31 10:49 编辑

在做地图拼接时新建了一个Tilemap类的对象用于显示其他地图,并设定主角恒定显示在地图的中心,发现无论如何修改新Tilemap的ox值,都会与当前地图的图块重合。于是想请教一下如何取消地图Tilemap类的自循环
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2021-7-31 01:53:24 | 显示全部楼层
整个范例看看?

点评

描述有点问题,是新建了一个Tilemap类的对象(  发表于 2021-7-31 10:49
发在楼下了  发表于 2021-7-31 10:47
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
4657
在线时间
1069 小时
注册时间
2013-3-28
回帖
309

开拓者

 楼主| 发表于 2021-7-31 10:47:23 | 显示全部楼层
本帖最后由 陈大帅帅帅哥 于 2021-7-31 10:53 编辑

显示居中测试.zip (200.24 KB, 下载次数: 9)
(端口4和5,还有上下的黑边是我游戏里的效果,与问题无关
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2021-7-31 12:24:31 | 显示全部楼层
本帖最后由 guoxiaomi 于 2021-7-31 12:49 编辑

我怀疑tilemap的平铺是系统内置的,zh99998写的openrgss里,tilemap也是用Plane拼起来的:
  1. def initialize(viewport=nil)
  2.   @bitmaps = []
  3.   @layers = [Plane.new(viewport), Plane.new(viewport), Plane.new(viewport),
  4.              Plane.new(viewport), Plane.new(viewport), Plane.new(viewport)]
  5.   @viewport = viewport
  6.   # ...
复制代码
参考:https://github.com/zh99998/OpenR ... openrgss/tilemap.rb

试试限制viewport的大小?

点评

如果rgss没提就不行吧?  发表于 2021-8-9 17:47
话说如果tilemap也是用Plane拼起来的的话,能不能进行放缩  发表于 2021-7-31 20:36
画面不会画到viewport外,搞一个正好那么大的viewport就行?  发表于 2021-7-31 19:27
大概思路是走到地图边缘时改变两个viewport的坐标和偏移量,以便让新地图的viewport露出吗  发表于 2021-7-31 18:32

评分

参与人数 2星屑 +50 赞 +1 收起 理由
陈大帅帅帅哥 + 1 认可答案
RyanBern + 50 认可答案

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部