逻辑实现预计效果:激光一直在飞机和屏幕上方中间显示。
然后现实总是和想象背道而驰,码不醉人人自醉!!!
有点晕晕的,感觉逻辑并没有出问题,为何效果和我想得那么不样呢
这是效果图
补充一下,子弹和飞机兄弟节点
逻辑实现预计效果:激光一直在飞机和屏幕上方中间显示。
然后现实总是和想象背道而驰,码不醉人人自醉!!!
这是效果图
补充一下,子弹和飞机兄弟节点
你等式中(战机的 Y)是 Math.abs()后的值吗
不是绝对值,就是node上的Y
建议你激光的锚点 y 始终是 0,坐标是飞机的中上位置,激光的长度 = 想要到达位置世界坐标 y - 世界坐标下的飞机的y -飞机的高 / 2
OKK,这个办法会了,但是我还是想知道我的逻辑哪里崩了 
你带入一个特殊值战机 y=0;激光长度没问题,但是激光 y 轴锚点=(画布一半高度-0)/2这是什么
我都给他们转到画布的相对坐标了,然后以画布锚点建立的坐标系,长度就是画布一半高度加减上战机的Y轴值-战机自身高度的一半
长度没问题,锚点公式是什么
画布一半高度加减战机的Y轴值之后的一半,简单的说就是取两个点的中间值
在你激光坐标为 0 的情况下,激光的上边界世界坐标=-(激光锚点-1)*激光的高,你应该拿这个公式来计算锚点,但是你的这些做法既不方便,又不好理解
为什么不设置位置,而去设置锚点
你这里的画布一半高度我怀疑你是指 0.5 而不是cc.winSize.height/2,如果是0.5的话你这说法有问题,让人误解,如果是cc.winSize.height/2,看画面根本也不可能是
我觉得这便是人类区别于动物的地方
这样会需要坐标系的转换,当时比较懒,就想直接用数值去控制,然后出现了问题
另外你非要用设置锚点的方式设置激光位置公式上面已经写了
激光 y 锚点 = -(cc.winSize.height/2)/激光的高+1;
激光的y值是多少
激光Y值随战机的Y改变而改变,通过画布最高点和战机的Y点中间点确定的锚点给的长度
y都同步了,激光的y锚点设置为0不就可以了?
没懂,那样的话,飞机继续上升,激光只是长度改变,位置不是没变
你激光的y不是随飞机y变化而变化吗