Project1

标题: 请教一个坐标…… [打印本页]

作者: Tabris_Air    时间: 2009-7-17 13:00
标题: 请教一个坐标……
本帖最后由 Tabris_Air 于 2009-7-17 15:08 编辑

是这样的,我在地图上新建了一个sprite显示某个图片,
刷新的时候希望图片中心与主角对齐并随之移动

那么刷新的时候图片的坐标应该是啥呢?
我试过($game_player.screen_x - 图片的宽度),但当角色走到地图边缘的时候图片还是居中显示,而角色已经跑到地图边上去了……

如图:
1正常情况

2主角走到地图右边边缘,没有对齐了= =b


so,请教……
作者: 白斑病赌东道    时间: 2009-7-17 13:06
那你让地图边缘的几格不能通行不就解决了。。。。。。。。。。。
作者: IamI    时间: 2009-7-17 13:08
理论上来说screen_x应该没错- -
先看一下你的刷新时机是否正确
然后再看一下各次screen_x的输出值(用p)是否正确
作者: Tabris_Air    时间: 2009-7-17 13:09
应该是有这样一个坐标的……
其实就是主角在屏幕上的显示坐标啊,何必去修改那么多地图呢

那你让地图边缘的几格不能通行不就解决了。。。。。。。。。。。
白斑病赌东道 发表于 2009-7-17 13:06

作者: 白斑病赌东道    时间: 2009-7-17 13:13
其实。。。。
我的意思就是地图边缘10格画点不能通行的东西。。。。这样角色永远只能在最中间。。。。
作者: Tabris_Air    时间: 2009-7-17 13:26
发现问题了……确实是刷新的时机不对,screen_x是对的
只要切换一下Scene(比如叫出菜单)再回到地图坐标就对了
我是在Spriteset_Map的update里刷新的,不知道应该换哪?

3# IamI
作者: IamI    时间: 2009-7-17 13:39
spriteset_Map的刷新在整个Map循环只有一次(这么大的东西你每帧刷新电脑就吐了)
写在Scene_Map的Update
或者并行事件(私以为这个功能完全可以用事件完成,变量操作里面有画面XY坐标,即Screen_XY)
作者: 亿万星辰    时间: 2009-7-18 09:31
似乎就应该写在Spriteset_Map的update里吧……

的确这个靠事件就能实现的
作者: 猫哥哥    时间: 2009-7-18 12:06
记得RMXP的范例游戏Knight Blade里就有这样一个效果,好像是公共事件做的……

其实就是主角在屏幕上的显示坐标啊,何必去修改那么多地图呢

对啊
作者: 风雪优游    时间: 2009-7-18 12:09
边缘空7格,一般就永远在中间了
作者: DeathKing    时间: 2009-7-22 14:37
你可以尝试一下这个,不过这个需要一个并行处理的事件:

http://myyxs.5d6d.com/thread-732-1-1.html
作者: veal    时间: 2009-7-23 07:03
按这样看来是把代码写在了update函数里面的某个条件判断里了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1