一只贱贱的小鬼by canvas

作者: ldoublem | 来源:发表于2016-06-30 22:22 被阅读1623次

一只贱贱的小鬼,信誓旦旦地冲去,灰头土脸地回来。
代码下载
灵感来于dribbble,主要是利用贝塞尔曲线画裙边,先上图

效果.png 效果.gif

主要步骤

        drawShadow(canvas);//画阴影
        drawHead(canvas);//画头部
        drawBody(canvas);//画身体
        drawHand(canvas);//画小手

重点是画带有裙边的身体,利用path.quadTo,至于二阶贝塞尔曲线网上一搜一大把...

private void drawBody(Canvas canvas) {
        path.reset();

        float x = (float) ((rectFGhost.width() / 2 - 15) * Math.cos(5 * Math.PI / 180f));
        float y = (float) ((rectFGhost.width() / 2 - 15) * Math.sin(5 * Math.PI / 180f));

        float x2 = (float) ((rectFGhost.width() / 2 - 15) * Math.cos(175 * Math.PI / 180f));
        float y2 = (float) ((rectFGhost.width() / 2 - 15) * Math.sin(175 * Math.PI / 180f));


        path.moveTo(rectFGhost.left + rectFGhost.width() / 2 - x, rectFGhost.width() / 2 - y + rectFGhost.top);
        path.lineTo(rectFGhost.left + rectFGhost.width() / 2 - x2, rectFGhost.width() / 2 - y2 + rectFGhost.top);
        path.quadTo(rectFGhost.right + wspace / 2, rectFGhost.bottom
                , rectFGhost.right - wspace, rectFGhost.bottom - hspace);


        float a = mskirtH;//(mskirtH/2);

        float m = (rectFGhost.width() - 2 * wspace) / 7f;//波动7次

        for (int i = 0; i < 7; i++) {
            if (i % 2 == 0) {
                path.quadTo(rectFGhost.right - wspace - m * i - (m / 2), rectFGhost.bottom - hspace - a
                        , rectFGhost.right - wspace - (m * (i + 1)), rectFGhost.bottom - hspace);
            } else {
                path.quadTo(rectFGhost.right - wspace - m * i - (m / 2), rectFGhost.bottom - hspace + a
                        , rectFGhost.right - wspace - (m * (i + 1)), rectFGhost.bottom - hspace);

            }
        }

        path.quadTo(rectFGhost.left - 5, rectFGhost.bottom
                , rectFGhost.left + rectFGhost.width() / 2 - x, rectFGhost.width() / 2 - y + rectFGhost.top);


        path.close();
        canvas.drawPath(path, mPaint);


    }

最后加入动画效果。控制裙边的张和,运动的轨迹以及小手的位置。
代码下载

相关文章

  • 一只贱贱的小鬼by canvas

    一只贱贱的小鬼,信誓旦旦地冲去,灰头土脸地回来。代码下载灵感来于dribbble,主要是利用贝塞尔曲线画裙边,先上...

  • 《死侍2》:从小强到小贱,至贱无敌

    原来是一只打不死的小强,如今已经开始变成小贱贱了,人至贱则无敌,无敌的小贱贱在电影没有上映的时候已经在预告片中发贱...

  • 贱贱一只猫

    我在厨房煮鱼, 我的猫跑进来, 喵喵喵。 我说:不要急,还没有熟呢。 猫说:不是,我是想念那个给我鱼的女孩。 我说...

  • 贱贱的寂寞、贱贱的我、贱贱的思念、

    很想要好好的写一篇日志了 所以昨晚躺下的时候把电脑又拽进被窝里——写不出来。 一觉醒来又想更新个长长的日志。总觉得...

  • 不只是看客

    1 贱男!贱男!贱男!贱男!贱男!贱男!贱男!贱男!贱男!贱男! ——愤怒的发泄喊十遍! 看完十号线贱男辱骂两位女...

  • 贱贱的

    难道这就是所谓的,人都是贱贱的 对你太在乎,你觉得ta啰嗦;对你不屑一顾,你反倒费尽心思取讨好 那就提高自己的身价...

  • 贱贱的

    昨天我给你发了三条短信,两条微信,今早又给你发了两条微信,你选择了一条都没回我,半夜我迟迟的睡不着,早上很早就醒来...

  • 贱贱的

    以前的时候,只要发现一本好书,就会不分昼夜,甚至上课偷偷放桌子里看。 现在上了大学后时间多了,反而...

  • 贱贱

    贱贱尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,贱贱会按照本隐私权政策的规定使用...

  • 贱贱

    友送一束玫瑰 名叫影星 第一天它不败 第二天它不败 第五天它还不败 我在第十天 把还是光鲜的它 扔进了垃圾桶

网友评论

本文标题:一只贱贱的小鬼by canvas

本文链接:https://www.haomeiwen.com/subject/szdfjttx.html