0

このコードを使用して、プリミティブを描画する drawNode を作成しました。

    var.drawNode = cc.DrawNode.create();
    drawNode.drawSegment(this.pos, cc.p(this.pos.x + this.length * Math.sin(this.rotation), this.pos.y + this.length * Math.cos(this.rotation)), STICK_THICKESS, cc.color(255,255,0,255));

基本的に、this.pos から別のポイントに線を引きます。

ここで、this.pos を中心に行を回転させたいので、これを追加するだけでよいと考えました。

    drawNode.setAnchorPoint(this.pos);
    var rotate = cc.RotateBy.create(2, 360);
    drawNode.runAction(rotate);

しかし、まだランダムな点を中心に回転しています。

4

1 に答える 1

1

醜いが機能する方法:

drawNode.setContentSize(1, 1);
drawNode.setAnchorPoint(this.pos);
drawNode.setPosition(this.pos);
var rotate = cc.RotateBy.create(2, 360);
drawNode.runAction(rotate);

ところで、作成メソッドは Cocos2d-html5 3.0 以降では非推奨です。cc.RotateBy.Create()の代わりにcc.rotateBy ()を使用し、cc.DrawNode.create() の代わりに新しい cc.DrawNode()を使用します。

于 2014-10-27T19:15:52.467 に答える