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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
跳转到指定楼层
1
发表于 2010-11-10 22:59:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

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

整体移动镜头用了 更改Viewport 的ox,oy 却缩放不了对象
还是 移动镜头也用循环所有对象比较好?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
帖子
643
2
发表于 2010-11-10 23:13:08 | 只看该作者
ox,oy是位移 不是缩放

点评

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

回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
4
 楼主| 发表于 2010-11-12 18:43:41 | 只看该作者
回复 david50407 的帖子



想想不对 测试果然不对呢

点评

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
帖子
643
5
发表于 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这万年大坑 啥时填起来@@

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
6
 楼主| 发表于 2010-11-12 21:20:56 | 只看该作者
回复 david50407 的帖子



这样不对呢= =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
帖子
643
7
发表于 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这万年大坑 啥时填起来@@

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
8
 楼主| 发表于 2010-11-12 23:12:10 | 只看该作者
回复 david50407 的帖子


还是不行呢 = =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
帖子
643
9
发表于 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这万年大坑 啥时填起来@@

回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 11:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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