那位大神知道为什么update中使用if判断时没有效果吗?

  • Creator 版本:

  • 目标平台:

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:

  • 额外线索:

大神不知道

我做的内容是,让一个物体向一个位置位移,然后在update中判断它的位置,当它达到一个位置时,触发一个事件,判断语句始终触发不了

所以你要给出代码,让大神们看看~

update(){
if(this.node.x==0){
console.log(“1”)
}

}

所以,直接输出 this.node.x 看看

改成这样就能触发了
update(){
this.node.x=0
if(this.node.x==0){
console.log(“1”)
}
}

:joy:

你移动的代码看看

我打赌,this.node.x 一定不是0,所以不触发,代码又不会骗人

let action=cc.moveTo(10,-z,100*(1-i));
this.node.runAction(action)

你的坐标在移动过程中,x不会等于0吧

x会等于0

z是多少,node的初始坐标多少

for(let i=0;i<this.optionList[m].length;i++){
let insect=cc.instantiate(this.insect);
let z=(this.showQuestion.width-this.insect.data.width)/2;
let action=cc.moveTo(10,-z,100*(1-i));
//初始位位置
insect.setPosition(559,100*(1-i));
insect.getComponent(“insect”).label.string=this.optionList[m][i];
insect.getComponent(“insect”).answer=this.optionList[m][i];
insect.getComponent(“insect”).judge=this;
insect.runAction(action);
this.showQuestion.addChild(insect);
}

哪有0,你要取整才行,都带小数的那等于0吗

一样的,写3个参数的时候,第2,3参数就是x,y

你用大于等于不行吗

有道理,我脑残了,已解决,我一开始以为update是每时每刻判断,后来才明白是每一帧刷新前判断,只依靠一个定点,很容易被绕过去,还是得要用大于等于,谢谢

代码没问题啊,this.node.x的确不等于0啊【手动滑稽】