这里为我尝试写的微信小游戏学习日志。
在此我要说明一下,我是初学者小白,如果有人看见了(没有),不要嘲笑我(逃
cc.Class({
extends: cc.Component,
properties: {
length: 0,
fatherRope:{
type: cc.Node,
default: null,
}
},
createRope: function()
{
var partRope = new Array();
for(var i=0;i<this.length;i++)
{
partRope[i] = cc.instantiate(this.fatherRope);//partRope为复制的一小段绳子节点
//设置这一小段绳子的父节点,父节点即为第一小段绳子(所有小绳子共用一个父节点)
this.node.addChild(partRope[i]);
partRope[i].position = cc.v2(0,0);
if(i>=1)
partRope[i].connectedBody = partRope[i-1].getComponent(cc.RigidBody);//每小段绳子都链接到上一段绳子上
}
},
onLoad: function()
{
this.createRope();
},
});
这个Rope.js我是挂在第一小段绳子上的。属性里面的fartherRope是我拖的一个模板绳子(没用Prefab是因为一开始没想到,后面就懒得改了),length就是小段绳子的数量了,直观地可以理解为最终绳子的长度。
看这代码好像不错(我认为),但是却出了严重问题,根本实现不了。我设置length为200,一运行,所有的小段绳子都挤在那个固定点上,上下跳动,不好形容,反正就是失败了。。。而且我的Intel i7-8750H开始疯狂运算,cpu占用率接近40%,更不要说手机了。。。应该是200个刚体在那一直不停的相互作用导致cpu负担很大。
我也不知道怎么解决,不知道是我的代码有错误还是想法不好。也只是在此记录一下。另外我在百度上也没查到用cocos做条足够柔软绳子的教程。希望以后能解决这个问题。今天也搞了四五个小时了,休息会儿吧。
我已经找到做绳子的方法了,很复杂。。。。但是我的思想是对的,还在学习中。。。