查看: 5365|回复: 11

[已经过期] 战斗镜头拉近的原理

[复制链接]
梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
回帖
550
发表于 2010-11-10 22:59:02 | 显示全部楼层 |阅读模式

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

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

×
战斗镜头拉近是不是循环所有对象
更改对象的x,y坐标和zoom_x,zoom_y的大小?

整体移动镜头用了 更改Viewport 的ox,oy 却缩放不了对象
还是 移动镜头也用循环所有对象比较好?
梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
回帖
605
发表于 2010-11-10 23:13:08 | 显示全部楼层
ox,oy是位移 不是缩放

点评

我没用ox,oy来做缩放的事  发表于 2010-11-10 23:24
RGE这万年大坑 啥时填起来@@

回复

使用道具 举报

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
回帖
605
发表于 2010-11-12 18:13:11 | 显示全部楼层
其实只要所有对象的ox, oy 都设置在同一点(艺术课叫: 消失点)
再进行缩放
意想不到的事就会发现了 = =b
RGE这万年大坑 啥时填起来@@

回复

使用道具 举报

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
回帖
550
 楼主| 发表于 2010-11-12 18:43:41 | 显示全部楼层
回复 david50407 的帖子

未命名.PNG

想想不对 测试果然不对呢

点评

无法理解 = = 能详细说明吗?  发表于 2010-11-12 19:34
x y 当然要再加上ox oy的值了... 用ox oy定到画面中间 如此一来缩放时就会依照那个点缩放也不用再去调x y了  发表于 2010-11-12 19:12
回复

使用道具 举报

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
回帖
605
发表于 2010-11-12 19:51:49 | 显示全部楼层
ox = 640 / 2
oy = 480 / 2
s = Sprite.new
s.ox = ox
s.oy = oy
s.x += ox
s.y += oy
s.zoom = 0.8
当每个Sprite都照s做时
x y座标会"相对"的一起变换
不必担心x y 座标位置的问题
RGE这万年大坑 啥时填起来@@

回复

使用道具 举报

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
回帖
550
 楼主| 发表于 2010-11-12 21:20:56 | 显示全部楼层
回复 david50407 的帖子

未命名.PNG

这样不对呢= =
回复

使用道具 举报

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
回帖
605
发表于 2010-11-12 22:12:14 | 显示全部楼层
Sprite_Battler:
self.ox = 640 / 2
self.oy = 480 / 2
self.x += self.ox - @width / 2
self.y += self.oy - @height
RGE这万年大坑 啥时填起来@@

回复

使用道具 举报

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
回帖
550
 楼主| 发表于 2010-11-12 23:12:10 | 显示全部楼层
回复 david50407 的帖子

未命名.PNG
还是不行呢 = =
回复

使用道具 举报

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
回帖
605
发表于 2010-11-12 23:44:23 | 显示全部楼层
本帖最后由 david50407 于 2010-11-12 23:44 编辑

额...
不好意思我脑残了
应该是这样的...
用原先的ox oy 就好
不过 x y 的部分要再做缩放判断
先取一个基准点 (消失点) ex: P(320, 240)
然后修改脚色与基准点的座标
self.x = P.x + (P.x - @battler.screen_x) * self.zoom_x ## Sprite_Battler 最下面那几行
以此类推...
RGE这万年大坑 啥时填起来@@

回复

使用道具 举报

梦石
0
星屑
8003
在线时间
1184 小时
注册时间
2007-7-29
回帖
2014
发表于 2010-11-12 23:45:31 | 显示全部楼层
其实拉近镜头把所有sprite的ox与oy设置在同一点放大才会一致。
只是在更改ox与oy的同时显示的位置会跟着更改,所以要先修正坐标,然后放大,最后是更改src_rect,这样就有拉近的效果,具体可以参考RTAB,不过RTAB貌似有些复杂,有些脚本底应该勉强看得懂。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部