• canvas_30 动画-滚动的方块


    <template>
        <view class="zcvs">
            <canvas canvas-id="cvs" id="cvs" :style="setCanvasStyle" />
        </view>
    </template>
    
    <script>
        export default {
            data() {
                return {};
            },
            onReady() {
                this.drawCvs();
            },
            computed: {
                setCanvasStyle() {
                    let retStyle = "background: #000;";
                    const info = uni.getSystemInfoSync();
                    retStyle += "" + info.windowWidth + "px;";
                    retStyle += "height:" + info.windowHeight + "px;";
                    return retStyle;
                }
            },
            methods: {
                drawCvs() {
                    const ctx = uni.createCanvasContext('cvs');
    
                    const info = uni.getSystemInfoSync();
                    const canvas = {
                         info.windowWidth,
                        height: info.windowHeight
                    };
    
                    let [dX, dY, sX, sY, speed] = [true, true, 0, 0, 2];
    
                    var animate = (sx, sy) => {
                        ctx.fillRect(sx, sy, 20, 20);
                        ctx.stroke();
                        ctx.draw();
                    };
    
                    var start = () => {
                        ctx.setFillStyle("#d6b816");
                        ctx.setStrokeStyle("#007AFF");
                        ctx.setLineWidth(10);
    
                        if (dX && dY) {
                            sX < canvas.width - 20 ? sX += speed : dX = false
                            sY < canvas.height - 20 ? sY += speed : dY = false
                        } else if (!dX && dY) {
                            sX > 0 ? sX -= speed : dX = true
                            sY < canvas.height - 20 ? sY += speed : dY = false
                        } else if (dX && !dY) {
                            sX < canvas.width - 20 ? sX += speed : dX = false
                            sY > 0 ? sY -= speed : dY = true
                        } else if (!dX && !dY) {
                            sX > 0 ? sX -= speed : dX = true
                            sY > 0 ? sY -= speed : dY = true
                        }
    
                        animate(sX, sY);
                        window.requestAnimationFrame(start);
                    };
    
                    start();
                }
            }
        }
    </script>
    
    <style lang="scss" scoped>
        .zcvs {
            flex: 1;
            background: "#000";
        }
    </style>
  • 相关阅读:
    MariaDB日志文件、备份与恢复
    实例讲解ip地址、子网掩码、可用地址范围的计算
    Nginx配置文件、优化详解
    Centos系统的升级
    编译安装nginx
    虚拟化云计算的相关概念汇总
    ELK日志管理
    Kubernetes 监控
    用 ConfigMap 管理配置
    K8s管理机密信息
  • 原文地址:https://www.cnblogs.com/luwei0915/p/15319542.html
Copyright © 2020-2023  润新知