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

Project1

 找回密码
 注册会员
搜索
查看: 4669|回复: 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 却缩放不了对象
还是 移动镜头也用循环所有对象比较好?

Lv2.观梦者

梦石
0
星屑
445
在线时间
377 小时
注册时间
2012-11-5
帖子
267
12
发表于 2013-4-2 13:39:21 | 只看该作者
亿万星辰 发表于 2010-11-13 09:29
抛开背景OX OY的移动,单说缩放的部分。
OX OY是原点坐标,如果背景的zoom发生改动,你想让前景的SPRITE保 ...



使全屏技能动画时
怎么用战斗画面镜头拉远
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
270
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

11
发表于 2010-11-13 09:29:35 | 只看该作者
抛开背景OX OY的移动,单说缩放的部分。
OX OY是原点坐标,如果背景的zoom发生改动,你想让前景的SPRITE保持相对位置不变,除了前景的zoom做同样的变化外,前景的OX OY也应该会有一些改动才对。
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

使用道具 举报

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这万年大坑 啥时填起来@@

回复 支持 反对

使用道具 举报

Lv1.梦旅人

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



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

使用道具 举报

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
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
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-6-27 12:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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