level 15
当我使用传送门物体,令其事件为“按下空格键”,让角色移动到指定位置时,如果目标位置位于视野内,则没有问题;但如果不是这样,那么角色的位置不会改变,只有视角发生改变。结果只好使用删除实例然后创建新的实例来代替……
2014年09月23日 14点09分
1
level 15
最诡异的是,两个房间中的一个不会发生该问题,而另一个无论怎么修改却会发生……
2014年09月23日 14点09分
2
你的传送代码发来看看
2014年09月23日 14点09分
你的传送代码发来看看
2014年09月23日 14点09分
level 10
在有问题的房间内的相关传送代码中你可能写了类似语句:
view_xview = x;
view_yview = y;
// x与y是你的目的地
总之你可能改变了视野的位置而不是角色的位置。或者用了某些错误的逻辑语句,需要你把代码发来看看。
2014年09月23日 14点09分
3
但另一个问题是,如果把触发事件改为“碰撞”,那么就可以通过碰撞而移动到目标地点;如果用按键,那结果就是按住的时候改变视角,不按的时候变回去
2014年09月23日 14点09分
回复 开不了车 :恩,用碰撞比较合理
2014年09月23日 14点09分
回复 yiwei138 :但这个“传送门”是位于路中间的,用碰撞显然不合适
2014年09月23日 14点09分
回复 开不了车 :你的意思是当玩家按下按键并在传送阵里时传送人物?
2014年09月23日 15点09分
level 15
Script:do_portal(portal)
{
if (room != argument0.troom){
global.man_dest_x = argument0.tx;
global.man_dest_y = argument0.ty;
room_goto(argument0.troom);
}else{
man.x = argument0.tx;
man.y = argument0.ty;
man.direction = self.tdir;
man.attack_direction = self.tdir;
}
}
2014年09月23日 14点09分
4
level 10
你的人物物件应该是persistent的吧。
在目标房间(troom)里创建一个物件。
create事件:
man.x = global.man_dest_x
man.y = global.man_dest_y
不行就把上面代码放入:
目标房间的creation(创建)
2014年09月23日 15点09分
5
level 10
你的人物物件应该是persistent的吧。
在目标房间(troom)里创建一个物件。
create事件:
man.x = global.man_dest_x
man.y = global.man_dest_y
不行就把上面代码放入:
目标房间的creation(创建)
2014年09月23日 15点09分
6