作者weirdfoot (怪脚之哈比)
看板Flash
标题[问题] EnterFrame检查物件状态
时间Tue Oct 11 23:45:09 2011
最近小弟在做一个类似平台游戏的作品
刚起步 在设定让人物可以在平台上自由走动和跳跃
部分程式码如下
stage.addEventListener(Event.ENTER_FRAME,playerMode);
function playerMode(event:Event) {
if (left) {
player.x-=vx;
player.gotoAndStop(10);
}
if (right) {
player.x+=vx;
player.gotoAndStop(5);
}
if (! left && ! right) {
player.gotoAndStop(1);
}
}
其中left right各为按下左右方向键後改变的布林值变数
但我原本是想设计 人物在待命和走路时各有动画在进行 (呼吸 脚部运动)
(是弄成影片片段放在player元件中)
写成这样後 变成角色不会做呼吸那些动作了...
恳请各位大大指出错误处或写得不适当的地方 感谢!! >"<
(如不清楚 我可以附上原始档)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.24.65.182
1F:→ dsmwang:gotoAndStop就停了,本来就不会继续拨动画 10/11 23:49
2F:→ KawasumiMai:巢状,你的player是单层的 10/11 23:52
3F:→ KawasumiMai:player第一格放站立mc,第二格放走路mc etc 10/11 23:52
4F:→ KawasumiMai:这样就算player gotoAndStop(),里面的mc还是会自转 10/11 23:53
我就是这样做...还是一样耶@@
5F:→ emily114005:ENTER_FRAME里gotoAndStop会一直做 导致停在第一格 10/12 02:09
我也在想是不是这样
请问有没有比较好的写法?
6F:→ KawasumiMai:此外真心建议原PO不要判定left跟right之後就改x跟影格 10/12 06:16
7F:→ KawasumiMai:在判定是否按下,然後确认移动vx之後还有很多事情要做 10/12 06:16
8F:→ KawasumiMai:建议作出假移动,等到整~个流程结束之後再结算 10/12 06:17
9F:→ KawasumiMai:(以上为前辈指导与类似产物写作经验) 10/12 06:18
K大 可以请问一下有关假移动的想法吗?? 感谢> <
※ 编辑: weirdfoot 来自: 114.24.73.195 (10/12 22:14)
10F:→ KawasumiMai:一个流程内先宣告x跟y的"目标数值" 10/13 01:06
11F:→ KawasumiMai:接着判定按键对目标数值+-vx,做第一次目标预测 10/13 01:06
12F:→ KawasumiMai:接着针对各种情况,例如撞到墙或超出边界等等 10/13 01:07
13F:→ KawasumiMai:再修正目标数值,做第二~N次目标预测 10/13 01:07
14F:→ KawasumiMai:等到整个流程跑完,目标预测确定是那个点之後 10/13 01:07
15F:→ KawasumiMai:再把那个目标座标直接指派给player的x跟y 10/13 01:08
16F:→ KawasumiMai:整个流程放在ENTER_FRAME里面,称为一次移动判定 10/13 01:08