Javascript cocos2djs中的绘图切片

Javascript cocos2djs中的绘图切片,javascript,canvas,graphics,cocos2d-x,cocos2d-js,Javascript,Canvas,Graphics,Cocos2d X,Cocos2d Js,我用engine写了一个游戏,但遗憾的是,即使使用cocoonjs,我也没有得到任何好的表现。我试图优化它,但我认为我优化不够 所以我尝试切换到cocos2djs。我用cocos2d尝试了一些例子,效果很好。我想我会得到我想要的表演。我只需要实现两件事。我试图在DrawNode类中使用方法,但我做不到。我不熟悉计算机图形学 绘制切片,就像中的drawSlice方法一样 沿给定半径和角度的圆弧书写文本 更新:我需要本机代码完成昂贵的计算。我有大约18个这样的形状,通过用户输入,在100ms内独

我用engine写了一个游戏,但遗憾的是,即使使用cocoonjs,我也没有得到任何好的表现。我试图优化它,但我认为我优化不够

所以我尝试切换到cocos2djs。我用cocos2d尝试了一些例子,效果很好。我想我会得到我想要的表演。我只需要实现两件事。我试图在DrawNode类中使用方法,但我做不到。我不熟悉计算机图形学

  • 绘制切片,就像中的drawSlice方法一样
  • 沿给定半径和角度的圆弧书写文本
更新:我需要本机代码完成昂贵的计算。我有大约18个这样的形状,通过用户输入,在100ms内独立设置75-200像素的半径动画。我在Phaser中遇到的问题是计算成本太高

更新2:现在我可以在@Sebastian的帮助下画画了。它还不完整

更新3:我在Phaser上做了一些修改,取得了很好的性能。也许我不需要这个,尽管其他人可能需要它

切片:

正文:

cocos2d-html5还没有实现这一功能。我能为您提供的最佳解决方案就是这个函数。这并不理想,但它应该能起作用。如果您不知道如何使用该函数(我离家用电脑有几个小时的路程,现在没有时间做一个完整的示例),我将稍后在必要的样板代码中封装该函数:

var drawSolidArc=函数(中心、半径、自度、自度、段){

如果(Degrees谢谢你的回复,我会在几个小时后尝试你的解决方案。我只能用你的函数画图。我可以解决一些问题来画切片。我想知道画那张图的最有效方法。我会更改Degrees From和Degrees to,形状会用这些新变量重新绘制。更改后我可以立即画图,但我我不认为它会给我带来任何好的性能。你能给我一些关于动态自定义绘图对象的示例吗?我想我得到了这个,我扩展了Node类并创建了一个成员DrawNode对象。在我节点的draw函数中,我调用DrawNode.draw(ctx)。我对延迟深表歉意。是的,您需要做的是创建一个绘图函数,重新绘制每一帧(别担心,它的性能没有听起来那么差)。抱歉,我错误地发送了该评论,之后它不允许我编辑。它继续说:我能给你的最快指导是转到
samples/tests/DrawPrimitivesTest/DrawPrimitivesTest.js
文件,查看
DrawOldAPITest
测试。在那里,添加我的函数并在
draw
方法中调用它。我已经告诉过我们了在这个示例原型中,我们将这段代码作为一个“prgress圆”进行编辑:(在游戏中看右下角,当你按下“箭头”按钮时,它会发生变化)
var drawSolidArc= function(center, radius, degreesFrom, degreesTo, segments){
    if(degreesTo<degreesFrom){
        var temp = degreesTo;
        degreesTo = degreesFrom;
        degreesFrom = temp;
    }
    var i;
    for(i=degreesFrom; i<=degreesTo;i++){
        cc.drawingUtil.drawCircle(center, radius, cc.DEGREES_TO_RADIANS(-i+90), segments, true);
    }
};