canvas 3D运动球效果 多球

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>canvas</title>
    <style type="text/css">
    #canvas{
        background-color: #eeeeee;
    }
    </style>
</head>
<body>
<canvas id="canvas" width="500" height="500"></canvas>
<script type="text/javascript">
    window.onload = function(){
        var canvas = document.getElementById("canvas");
        var cobj = canvas.getContext("2d");

        var arr = [];
        for(var i=0; i<8; i++){
            var arrObj = {
                r: 15+5*Math.random(),
                x_3d: -200+i*30,
                y_3d: -100+200*Math.random(),
                z_3d: i*10,
                z_speed: 5+10*Math.random()
            }
            arr.push(arrObj);
        }

        var focusLen = 300;

        cobj.translate(250,250);
        setInterval(function(){
            cobj.clearRect(-250,-250,500,500);

            var newarr = arr.sort(function(a,b){
                return a.z_3d<b.z_3d;
            });
            for(var i=0; i<newarr.length; i++){
                arr[i].z_3d += arr[i].z_speed;
                if(arr[i].z_3d>600 || arr[i].z_3d<=-50){
                    arr[i].z_speed*=-1;
                }
                var scales = focusLen/(focusLen+arr[i].z_3d);
                var x = arr[i].x_3d*scales;
                var y = arr[i].y_3d*scales;
                cobj.save();
                cobj.translate(x,y);
                cobj.scale(scales,scales);
                cobj.beginPath();
                var colorObj = cobj.createRadialGradient(3,3,0,0,0,15);
                colorObj.addColorStop(0,"#cbc0f3");
                colorObj.addColorStop(1,"#06198b");
                cobj.fillStyle = colorObj;
                cobj.arc(0,0,15,0,2*Math.PI);
                cobj.fill();
                cobj.restore();
            }

        },50);
    }
</script>
</body>
</html>
时间: 2024-11-05 06:12:47

canvas 3D运动球效果 多球的相关文章

canvas 3D雪花效果

<!DOCTYPE html> <html style="height: 100%;"> <head> <meta charset="utf-8"/> <title></title> </head> <body style="background-color: #f00; height: 100%;"> <script type="te

ViewPager+Fragmet 实现3D滑动效果

ViewPager+Fragmet 实现3D滑动效果,下面给出程序运行截图: 本项目的目录截图如下: 核心代码如:fragments包里的碎片fragment,和util包里面的对ViewPager的一些定义. dome源码下载地址:(http://download.csdn.net/detail/qq_30000411/9582958) 本dome是基于as2.0下写的项目,下载后导入运行有可能会出现sdk版本问题,希望你能自习该版本bug,as的项目的apk路径 ViewPage+Fragm

HTML5 CSS3:诱人的3D旋转木马效果相册实例

HTML5 CSS3:诱人的3D旋转木马效果相册实例 利用HTML5和CSS3实现的3D旋转木马效果相册 下载地址:http://www.devstore.cn/code/info/341.html 运行截图: 相关下载: HTML5 Canvas火焰闪烁动画 火焰跟随鼠标 HTML5仿Apple Watch时钟动画 版权声明:本文为博主原创文章,未经博主允许不得转载.

WPF换肤之八:创建3D浏览效果

原文:WPF换肤之八:创建3D浏览效果 上节中,我们展示了WPF中的异步以及界面线程交互的方式,使得应用程序的显示更加的流畅.这节我们主要讲解如何设计一个具有3D浏览效果的天气信息浏览器. 效果显示 下面我们看截图: 是不是能够感受到一种与众不同的感觉.如果你能够感受到它的与众不同,这也是我本节所要达到的目标. 实现方式 上面的只是一个简单的3D图形,它的产生需要依赖于WPF中的MeshGeometry3D对象,这个对象按照微软官方的解释就是用于生成3D形状的三角形基元,它有三个比较重要的属性:

HTML5 CSS3 专题 :诱人的实例 3D旋转木马效果相册

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/32964301 首先说明一下创意的出处:http://www.zhangxinxu.com/study/201209/pictures-3d-slide-view.html(张鑫旭的博客 ),对前台感兴趣的可以没事去看看他的博客,很给力~ 这篇博客的目的是因为上篇HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果中有个关于CSS 3D效果的比较重要的知识点没

CSS3的3D转换效果详解介绍

CSS3的3D转换效果详解介绍:本章介绍一下CSS3的3D转换效果,此效果的实现依靠的是transform属性,3D转换只是此属性的部分应用,更多相关内容可以参阅CSS3的transform属性总略介绍一章节.掌握3D转换效果,可以从三个方法作为突破口,分别是rotateX, rotateY, rotateZ,在2D变换过程中rotate()函数的应用,它表示旋转的意思,由于是2D变换,所以它只是在一个平面进行旋转,所以无需细分,具体可以参阅CSS3的2D转换效果详细介绍一章节. 下面分别介绍一

canvas之太阳系效果

星球 变量名 公转周期 光色 暗色 水星 Mercury 87.70 #a69697 #5c3e40 金星 Venus 224.701.70 #c4bbac #1f1315 地球 Earth 365.2422 #78b1e8 #050c12 火星 Mars 686.98 #cec9b6 #76422d 木星 Jupiter 4332.589 #c0a48e #322 土星 Saturn 10759.95 #f7f9e3 #5c4553 天王星 Uranus 30799.095 #a7e115 #

canvas动画文字效果

Doughnut Chartvar c=document.getElementById("canvas");var ctx=c.getContext("2d");ctx.font="50px sans-serif";ctx.fillText("75%",40,92);//ctx.clearRect(40, 52, 74, 68); var c=document.getElementById("canvas"

css3 3d翻转效果

<div class="demo">       <span class="front">            aaaaaaaaaaaaaa       </span>        <span class="behind">            bbbbbbb       </span> </div> .demo{ display: block; cursor: poi