3 水果切成两半的方法
#三个参数 水果编号num,切除的位置fruitPosition ,旋转角度rotation;
#从数组取出水果两个碎片图片,并创建两个cut1 cut2精灵
#创建两个cut的贝塞尔动作bezier1 bezier2,方向是相反的
#两个cut 分别runAction();
#本来切除的瞬间有一个果汁溅在墙上的效果shadow,因为没找到合适的图片 代码注释掉了
MainLayer.prototype.newSliceFruit = function (num, fruitPosition, rotation)
{
//one fruit sliced two piece,cut1 and cut2
var data = FRUIT_DATA[num];
var cutImages = data.cutImage;
var cut1 = cc.MySprite.create(this.rootNode, cutImages[0], fruitPosition, 100);
var cut2 = cc.MySprite.create(this.rootNode, cutImages[1], fruitPosition, 100);
cut1.setRotation(rotation);
cut2.setRotation(rotation);
var controlPoints1 = [
fruitPosition,
fruitPosition,
cc.p(fruitPosition.x - 200, -100)
];
var bezier1 = cc.BezierTo.create(1, controlPoints1);
var controlPoints2 = [
fruitPosition,
fruitPosition,
cc.p(fruitPosition.x + 200, -100)
];
var bezier2 = cc.BezierTo.create(1, controlPoints2);
var action2 = cc.RotateBy.create(1, getRandom(360));
cut1.runAction(cc.Spawn.create(cc.Sequence.create(bezier1, cc.CleanUp.create(cut1)), action2));
cut2.runAction(cc.Spawn.create(cc.Sequence.create(bezier2, cc.CleanUp.create(cut2)), action2.clone()));
//fruit shadow
/*var shadowImages = ["shadow2.png"];
var colors = [cc.b(200, 0, 0, 20), cc.b(0, 200, 0, 20), cc.b(0, 0, 200, 20), cc.b(200, 200, 0, 20)];
var shadow = cc.MySprite.create(this.rootNode, shadowImages[getRandom(shadowImages.length)], fruitPosition, 10);
shadow.setColor(colors[getRandom(colors.length)]);
shadow.setScale(0.5);
shadow.runAction(cc.Sequence.create(cc.DelayTime.create(2), cc.CleanUp.create(shadow)));*/
};
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-50223-2.html
虽远必诛
吹牛逼