3D动态烟花--HTML

写代码无聊了,要为自己找一些有意思的事情去做嘛,顺便也可以在小白面前装一下下。这是一个3D烟花动态图,用H5写的。

使用方法:

在电脑上创建一个文本文档,将下面的代码复制上去,然后将文本扩展名改为html(例如:3D烟花.html)  ,然后该文件就会变成网页的图标。点击运行就行了,IE浏览器可能无法运行,可能只会出来黑屏,不过我使用的win10系统的Microsoft Edge可以出来。如果不行,请使用火狐浏览器。

效果图如下:(此图片是静态的,程序运行出来是动态的)

代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>烟花动画特效</title>
 
<style>
html,body{
    margin:0px;
    width:100%;
    height:100%;
    overflow:hidden;
    background:#000;
}
 
#canvas{
    width:100%;
    height:100%;
}
</style>
 
</head>
<body>
 
<canvas id="canvas"></canvas><script>
function initVars(){
 
    pi=Math.PI;
    ctx=canvas.getContext("2d");
    canvas.width=canvas.clientWidth;
    canvas.height=canvas.clientHeight;
    cx=canvas.width/2;
    cy=canvas.height/2;
    playerZ=-25;
    playerX=playerY=playerVX=playerVY=playerVZ=pitch=yaw=pitchV=yawV=0;
    scale=600;
    seedTimer=0;seedInterval=5,seedLife=100;gravity=.02;
    seeds=new Array();
    sparkPics=new Array();
    s="https://cantelope.org/NYE/";
    for(i=1;i<=10;++i){
        sparkPic=new Image();
        sparkPic.src=s+"spark"+i+".png";
        sparkPics.push(sparkPic);
    }
    sparks=new Array();
    pow1=new Audio(s+"pow1.ogg");
    pow2=new Audio(s+"pow2.ogg");
    pow3=new Audio(s+"pow3.ogg");
    pow4=new Audio(s+"pow4.ogg");
    frames = 0;
}
 
function rasterizePoint(x,y,z){
 
    var p,d;
    x-=playerX;
    y-=playerY;
    z-=playerZ;
    p=Math.atan2(x,z);
    d=Math.sqrt(x*x+z*z);
    x=Math.sin(p-yaw)*d;
    z=Math.cos(p-yaw)*d;
    p=Math.atan2(y,z);
    d=Math.sqrt(y*y+z*z);<

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值