用Creator做一個像素繪畫工具

大家好,我想用Creator做一個像素繪畫工具,但是不知道應該如何開始,有想過loop 35x35的layer做,但好像不太好,如果我用tiledmap去做行不行呢,我能否改tmx file每一格的顏色呢,做好我一定分享我的code :cry:

like this

2赞

建议用 Graphics 来画 n*n 的格子,然后要做的只是修改每个格子的颜色

和你一样的需求,可以支持涂色和填色功能,涂色想用graphics实现,但是creator的graphics不支持无限画的功能,画的线到一定数量后就错乱了,填色用floodfill算法实现。你有什么好的思路,大家一起讨论分享下啊,看看怎么用creator实现涂色和填色功能?
http://forum.cocos.com/t/graphics/45136/21

用户自由画画的功能怎么实现呢,线条跟着鼠标轨迹走的情形,现在graphics不支持无限画
http://forum.cocos.com/t/graphics/45136/21

謝謝您的回覆! 好的,我試試了解Graphics components,謝謝!

謝謝您的回覆!好!我現在還在構思階段,一起加油!

我们之前用了个比较笨的办法做了一个,每个格子都是sprite,这样操作起来就简单了。性能倒是还可以, 当时用的是cocos2d-x+lua, 可以在这里看视频演示:
https://www.youtube.com/watch?v=l0HiRMipMe0
第4秒开始.

无限画 @jjyinkailejj 给人搞一下啊,你数据满了就发 render request,然后剩下的数据发完继续填充不就好了

万分感谢panda的关注

像素画的话,可以考虑动态生成贴图~ 也就是说用 CPU 直接画在纹理上。

实现不一样啦,你说得倒是轻松
而且都说了 1.6 做了

你现在的缓存支持一次画多少个三角形?

我觉得用 sprite 做无压力啊,没必要搞绘图接口

这个怎么搞啊,panda大大能不能说清楚点,云里雾里的

你好,这个能交流一下吗

参考官方测试例子, assets/cases/rendertexture/read-pixels/rt-read-pixels.scene

脚本:
assets/cases/rendertexture/read-pixels/RTPixel.ts

源码:

update (deltaTime: number) {

        let src = RTCapture._renderTex;

        if (src) {

            let pbuffer = src.readPixels();

            this.dstTexture.uploadData(pbuffer);

        }

        this.sp.texture = this.dstTexture;

        this.sprite.spriteFrame = this.sp;

        this.sprite.updateMaterial();

    }

创建自己画画的数据用 Uint8Array 容器存下来,调 RT 的 uploadData 接口刷新显示应该也ok?
(用的是 Creator 3.6)

1赞

用rendertexture 做 注意底色 混合 我之前实现过


还有注意圆的要做羽化扩边不然会有严重的锯齿

大佬,官方例子从哪里看的?