大家好,我想做一個遊戲是有兩條繩子吊著只猴子,切斷一條,猴子會遙擺,只要user touch到兩條繩子,猴子就會下跌,我用了兩個distance joint 連住猴子了,但繩的效果與touch event不知如何做,請大神指路
想要的效果

没做过,但思路的话我认为:
直接给绳子做一个touchend(),然后注册事件为把distanceJoint 关闭掉,再执行绳子断掉的函数
但是不清楚一根断了,另外一根情况是怎样的

这个绳子应该是实时画出来的,比想象的要复杂一点
Thank you for reply liaoyifei, 另外一邊有distanceJoint 連住所以應該有遙擺效果
Thank you for reply, Mark, 不知應該如何畫,如何做斷掉下跌效果

网上搜吧,一两句说不清楚。
这个是不是要用到物理引擎呀
有少少進展,造一個prefab,prefab加rigidBody,revolutejoint,physicsboxcollider,在cavas加兩個node,加100個prefab入node
drawLine : function(){
for(i = 0; i <100; i++){
var box = cc.instantiate(this.lineBox);
var box2 = cc.instantiate(this.lineBox);
this.wire.addChild(box,1);
this.wire2.addChild(box2,2);
box.setPosition(0,0-(4 * i));
box2.setPosition(0,0-(4 * i));
lineArray.push(box);
lineArray2.push(box2);
// box.getComponent(cc.RevoluteJoint).connectedBody = this.wire;
}
var wireBody = this.wire.getComponent(cc.RigidBody);
var wireBody2 = this.wire2.getComponent(cc.RigidBody);
lineArray[0].getComponent(cc.RevoluteJoint).connectedBody = wireBody;
lineArray2[0].getComponent(cc.RevoluteJoint).connectedBody = wireBody2;
for (i = 1; i<100;i++){
var body = lineArray[i-1].getComponent(cc.RigidBody);
var body2 = lineArray2[i-1].getComponent(cc.RigidBody);
lineArray[i].getComponent(cc.RevoluteJoint).connectedBody = body;
lineArray2[i].getComponent(cc.RevoluteJoint).connectedBody = body2;
}
var monkeyBody = this.monkey.node.getComponent(cc.RigidBody);
lineArray[99].getComponent(cc.DistanceJoint).connectedBody = monkeyBody;
// lineArray[99].getComponent(cc.DistanceJoint).connectedAnchor()
lineArray2[99].getComponent(cc.DistanceJoint).connectedBody = monkeyBody;
}
maybe the next step is add listener to every prefab for cutting.
1赞
各位大哥想到更好的方法,請指點小弟我一二! 謝謝大家
你这个应该需要使用物理引擎 你先去看一下物理引擎这块吧
Thank you for your reply 克里特彼岸, 已經在使用了 
666.啊



