定制小程序开发费用前端爱心代码跟个风

光棍节New定制小程序开发费用一个对象发给Ta
(定制小程序开发费用有编译器的用编译器,没有的可以用记事本)
在电脑桌面新建一个txt文本文档,复制下面的代码进去并保存,把文件名.txt的后缀改为.html,然后双击文件运行就可以看到效果了。
如果你的文件名没有后缀,需要打开扩展名:此电脑—>(左上方)查看—>文件扩展名,勾一下方框。这时你去看所有的文件类型都多了后缀名)

<!DOCTYPE html><html><head>  <title></title></head><style>  * {    padding: 0;    margin: 0;  }  html,  body {    height: 100%;    padding: 0;    margin: 0;    background: rgb(2, 2, 2);  }  canvas {    position: absolute;    width: 100%;    height: 100%;  }  .aa {    position: fixed;    left: 50%;    bottom: 10px;    color: rgb(9, 194, 113)  }</style><body>  <canvas id="pinkboard"></canvas>  <script>    /*     * Settings     */    var settings = {      particles: {        length: 1000, // 最大颗粒量        duration: 3, // 粒子持续时间(秒)        velocity: 100, // 粒子速度(像素/秒)        effect: -0.75, // 玩这个效果很好        size: 20, // 颗粒大小(像素)      },    };    (function () { var b = 0; var c = ["ms", "moz", "webkit", "o"]; for (var a = 0; a < c.length && !window.requestAnimationFrame; ++a) { window.requestAnimationFrame = window[c[a] + "RequestAnimationFrame"]; window.cancelAnimationFrame = window[c[a] + "CancelAnimationFrame"] || window[c[a] + "CancelRequestAnimationFrame"] } if (!window.requestAnimationFrame) { window.requestAnimationFrame = function (h, e) { var d = new Date().getTime(); var f = Math.max(0, 16 - (d - b)); var g = window.setTimeout(function () { h(d + f) }, f); b = d + f; return g } } if (!window.cancelAnimationFrame) { window.cancelAnimationFrame = function (d) { clearTimeout(d) } } }());    /*     * Point class     */    var Point = (function () {      function Point(x, y) {        this.x = (typeof x !== 'undefined') ? x : 0;        this.y = (typeof y !== 'undefined') ? y : 0;      }      Point.prototype.clone = function () {        return new Point(this.x, this.y);      };      Point.prototype.length = function (length) {        if (typeof length == 'undefined')          return Math.sqrt(this.x * this.x + this.y * this.y);        this.normalize();        this.x *= length;        this.y *= length;        return this;      };      Point.prototype.normalize = function () {        var length = this.length();        this.x /= length;        this.y /= length;        return this;      };      return Point;    })();    /*     * Particle class     */    var Particle = (function () {      function Particle() {        this.position = new Point();        this.velocity = new Point();        this.acceleration = new Point();        this.age = 0;      }      Particle.prototype.initialize = function (x, y, dx, dy) {        this.position.x = x;        this.position.y = y;        this.velocity.x = dx;        this.velocity.y = dy;        this.acceleration.x = dx * settings.particles.effect;        this.acceleration.y = dy * settings.particles.effect;        this.age = 0;      };      Particle.prototype.update = function (deltaTime) {        this.position.x += this.velocity.x * deltaTime;        this.position.y += this.velocity.y * deltaTime;        this.velocity.x += this.acceleration.x * deltaTime;        this.velocity.y += this.acceleration.y * deltaTime;        this.age += deltaTime;      };      Particle.prototype.draw = function (context, image) {        function ease(t) {          return (--t) * t * t + 1;        }        var size = image.width * ease(this.age / settings.particles.duration);        context.globalAlpha = 1 - this.age / settings.particles.duration;        context.drawImage(image, this.position.x - size / 2, this.position.y - size / 2, size, size);      };      return Particle;    })();    /*     * ParticlePool class     */    var ParticlePool = (function () {      var particles,        firstActive = 0,        firstFree = 0,        duration = settings.particles.duration;      function ParticlePool(length) {        // 创建和填充粒子池        particles = new Array(length);        for (var i = 0; i < particles.length; i++)          particles[i] = new Particle();      }      ParticlePool.prototype.add = function (x, y, dx, dy) {        particles[firstFree].initialize(x, y, dx, dy);        //处理循环队列        firstFree++;        if (firstFree == particles.length) firstFree = 0;        if (firstActive == firstFree) firstActive++;        if (firstActive == particles.length) firstActive = 0;      };      ParticlePool.prototype.update = function (deltaTime) {        var i;        // 处理循环队列        if (firstActive < firstFree) {          for (i = firstActive; i < firstFree; i++)            particles[i].update(deltaTime);        }        if (firstFree < firstActive) {          for (i = firstActive; i < particles.length; i++)            particles[i].update(deltaTime);          for (i = 0; i < firstFree; i++)            particles[i].update(deltaTime);        }        //移除非活性粒子        while (particles[firstActive].age >= duration && firstActive != firstFree) {          firstActive++;          if (firstActive == particles.length) firstActive = 0;        }      };      ParticlePool.prototype.draw = function (context, image) {        //绘制活性粒子        if (firstActive < firstFree) {          for (i = firstActive; i < firstFree; i++)            particles[i].draw(context, image);        }        if (firstFree < firstActive) {          for (i = firstActive; i < particles.length; i++)            particles[i].draw(context, image);          for (i = 0; i < firstFree; i++)            particles[i].draw(context, image);        }      };      return ParticlePool;    })();    /*     * 把所有这些放在一起     */    (function (canvas) {      var context = canvas.getContext('2d'),        particles = new ParticlePool(settings.particles.length),        particleRate = settings.particles.length / settings.particles.duration, //粒子/秒        time;      // get point on heart with -PI <= t <= PI      function pointOnHeart(t) {        return new Point(          160 * Math.pow(Math.sin(t), 3),          130 * Math.cos(t) - 50 * Math.cos(2 * t) - 20 * Math.cos(3 * t) - 10 * Math.cos(4 * t) + 25        );      }      //使用虚拟画布创建粒子图像      var image = (function () {        var canvas = document.createElement('canvas'),          context = canvas.getContext('2d');        canvas.width = settings.particles.size;        canvas.height = settings.particles.size;        //helper函数创建路径        function to(t) {          var point = pointOnHeart(t);          point.x = settings.particles.size / 2 + point.x * settings.particles.size / 350;          point.y = settings.particles.size / 2 - point.y * settings.particles.size / 350;          return point;        }        //创建路径        context.beginPath();        var t = -Math.PI;        var point = to(t);        context.moveTo(point.x, point.y);        while (t < Math.PI) {          t += 0.01; // baby steps!          point = to(t);          context.lineTo(point.x, point.y);        }        context.closePath();        //创建填充        context.fillStyle = '#ff9999';        context.fill();        //创建图像        var image = new Image();        image.src = canvas.toDataURL();        return image;      })();      //渲染那个东西!      function render() {        //下一动画帧        requestAnimationFrame(render);        //更新时间        var newTime = new Date().getTime() / 1000,          deltaTime = newTime - (time || newTime);        time = newTime;        //透明帆布        context.clearRect(0, 0, canvas.width, canvas.height);        //创建新粒子        var amount = particleRate * deltaTime;        for (var i = 0; i < amount; i++) {          var pos = pointOnHeart(Math.PI - 2 * Math.PI * Math.random());          var dir = pos.clone().length(settings.particles.velocity);          particles.add(canvas.width / 2 + pos.x, canvas.height / 2 - pos.y, dir.x, -dir.y);        }        //更新和绘制粒子        particles.update(deltaTime);        particles.draw(context, image);      }      //处理画布的大小      function onResize() {        canvas.width = canvas.clientWidth;        canvas.height = canvas.clientHeight;      }      window.onresize = onResize;      //延迟渲染引导      setTimeout(function () {        onResize();        render();      }, 10);    })(document.getElementById('pinkboard'));  </script></body></html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发