zoukankan      html  css  js  c++  java
  • CreateJSのeasel.js(一)

    CreateJS是基于HTML5开发的一套模块化的库和工具。

    基于这些库,可以非常快捷地开发出基于HTML5的游戏、动画和交互应用。

    CreateJS为CreateJS库,可以说是一款为HTML5游戏开发的引擎。

    EaselJS

    一个JavaScript库,使HTML5 Canvas标签变得更简单。

    用于创建游戏,生成艺术作品,和处理其他高级图形化等有着很友好的体验。

    上下左右绘制文字

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script src="lib/easeljs-0.8.2.min.js"></script>
            <script src="lib/tweenjs-0.6.2.min.js"></script>
            <style>
                *{
                    padding: 0;
                    margin: 0;
                }
            </style>
        </head>
        <body>
            
        <p>上下左右绘制文字</p>
        <canvas id="game"></canvas>    
    
            
        <script>
         var canvas,
             stage,
             w = document.body.clientWidth,
             h = document.body.clientHeight;
             
         function init() {
             // 设置canvas属性
             canvas = document.getElementById('game');
             canvas.width = w;
             canvas.height = h;
             // 创建舞台
             stage = new createjs.Stage(canvas);
             
             // 绘制居中文字
             var text1 = new createjs.Text('Hello World', '20px Arial', '#ff4400'),
                 bounds = text1.getBounds();
             
             text1.x = stage.canvas.width - bounds.width >> 1;
            text1.y = stage.canvas.height - bounds.height >> 1;
            
            // 绘制左边的文字
            var text2 = new createjs.Text('Hello World', '20px Arial', '#ff4400');
            
            // 绘制右边的文字
            var text3 = new createjs.Text('Hello World', '40px Arial', '#ff4400'),
                bounds = text3.getBounds();
            text3.x = w - bounds.width;
            
            // 下居中文字
            var text4 = new createjs.Text('Hello World', '20px Arial', '#ff7700'),
                bounds = text4.getBounds();
            
            text4.x = stage.canvas.width - bounds.width >> 1;
            text4.y = stage.canvas.height - bounds.height;
            
            
            stage.addChild(text1);
            stage.addChild(text2);
            stage.addChild(text3);
            stage.addChild(text4);
            stage.update();
             
         }
         
         init();
        
        </script>            
            
        </body>
    </html>

    Bitmap绘制图片

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>绘制图片</title>
            <script src="lib/easeljs-0.8.2.min.js"></script>
            <script src="lib/tweenjs-0.6.2.min.js"></script>
            <style>
                *{
                    padding: 0;
                    margin: 0;
                }
            </style>
        </head>
        <body>
            
        <canvas id="game"></canvas>    
    
            
        <script>
        var cjs = createjs,
        canvas,
        stage,
        container,
        w = 200, // 图片就是200*200的大小
        h = 200,
        image;
        
        function init() {
            // 设置canvas属性
            canvas = document.getElementById('game');
            canvas.width = w;
            canvas.height = h;
            
            // 创建舞台
            stage = new cjs.Stage(canvas);
            // 绘制外部容器
            container = new cjs.Container();
            stage.addChild(container);
            
            // 加载图片
            image = new Image();
            image.src = 'icon.png';
            image.onload = handleImageLoad;
        }
        
        function handleImageLoad(event) {
            var bitmap = new cjs.Bitmap(event.target);
            bitmap.x = 0;
            bitmap.y = 0;
            bitmap.on('click', function () {
                alert();
            });
            // 加入场景
            container.addChild(bitmap);
            stage.update();
        }
        
        init();
    
        </script>            
            
        </body>
    </html>

    绘制点击提示,使用Tween

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>绘制点击提示,使用Tween</title>
            <script src="lib/easeljs-0.8.2.min.js"></script>
            <script src="lib/tweenjs-0.6.2.min.js"></script>
            <style>
                *{
                    padding: 0;
                    margin: 0;
                }
                body {
                    background: #000000;
                }
            </style>
        </head>
        <body>
            
        <canvas id="game"></canvas>    
    
            
        <script>
        var cjs = createjs,
        canvas,
        stage,
        container,
        w = window.innerWidth,
        h = window.innerHeight,
        s,
        dt = '';
        
        function init() {
            canvas = document.getElementById('game');
            canvas.width = w;
            canvas.height = h;
            // 创建舞台
            stage = new cjs.Stage(canvas);
            container = new cjs.Container(); // 绘制外部容器
            stage.addChild(container);
            
            // 创建矩形
            s = new DrawArc(10, '#fff');
            s2 = new DrawArc(10, '#fff');
            
            var bounds = s.getBounds(),
                bounds2 = s2.getBounds();
                
            s.x = w - bounds.width >> 1;
            s.y = h - bounds.height >> 1;
            s2.x = w -bounds2.width >> 1;
            s2.y = h - bounds2.height >> 1;
            s2.alpha = 0.6;
            
            s.on('click', function () {
                alert('提示');
            });
            
            // 加入场景
            container.addChild(s);
            container.addChild(s2);
            
            // Tween
            cjs.Tween.get(s, {loop: true})
            .to({scaleX: 2.5, scaleY: 2.5, alpha: 0}, 1000,  cjs.Ease.linear) // jump to the new scale properties (default duration of 0)
            .to({scaleX: 1, scaleY: 1, alpha: 1}, 0,  cjs.Ease.linear);
            
            // 设置游戏帧率
            cjs.Ticker.setFPS(60);
            cjs.Ticker.on('tick', stage);
        }
        
        // 绘制矩形 类
        function DrawArc(r, c) {
            // 继承Shape类
            cjs.Shape.call(this);
            this.graphics.beginFill(c).arc(0,0,r,0,2*Math.PI);
            // 设置矩形的边界属性,这样可以获得width和height属性
            this.setBounds(0,0,r,r);
        }
        
        DrawArc.prototype = new cjs.Shape(); // 获得原型方法
        
        init();
        
        </script>    
            
            
        </body>
    </html>

    绘制笑脸

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>绘制笑脸</title>
            <script src="lib/easeljs-0.8.2.min.js"></script>
            <script src="lib/tweenjs-0.6.2.min.js"></script>
            <style>
                *{
                    padding: 0;
                    margin: 0;
                }
            </style>
        </head>
        <body>
            
        <canvas id="demoCanvas" width="1000" height="500">
            alternate content
        </canvas>    
    
            
        <script>
    
        var stage = new createjs.Stage('demoCanvas');
        
        // 绘制圆形
        var circle = new createjs.Shape();
        circle.graphics.beginFill('orange').drawCircle(0,0,100).endFill();
        circle.x = 500;
        circle.y = 240;
        stage.addChild(circle);
        
        // 绘制眼睛
        var eye = new createjs.Shape();
        eye.graphics.beginFill('rgba(0,0,20,.5)').drawEllipse(0,0,20,40).endFill();
        eye.x = 450;
        eye.y = 180;
        stage.addChild(eye);
        
        var eye2 = new createjs.Shape();
        eye2.graphics = eye.graphics.clone();
        eye2.x = 530;
        eye2.y = 180;
        stage.addChild(eye2);
        
        // 绘制鼻子
        var nose = new createjs.Shape();
        nose.graphics.beginFill('rgba(0,0,20,.5)').drawCircle(0,0,10).endFill();
        nose.x = 500;
        nose.y = 250;
        stage.addChild(nose);
        
        // 绘制嘴巴
        var mouth = new createjs.Shape();
        mouth.graphics.ss(4).s('rgba(0,0,0,.5)').a(0,0,100,Math.PI*60/180,Math.PI*120/180);
        mouth.x = 500;
        mouth.y = 200;
        stage.addChild(mouth);
        
        stage.update();
        
        
        </script>    
            
            
        </body>
    </html>
  • 相关阅读:
    MySQL<事务与存储过程>
    MySQL<多表操作>
    MySQL<表单&集合查询>
    统计 fastq 文件 q20 , GC 含量的软件
    C语言插入排序
    samtools flags 的含义
    vsearch 去除重复序列和singleton 序列
    Fastqc 能够识别的碱基编码格式
    Fastqc 碱基质量分布图
    利用kseq.h parse fasta/fastq 文件
  • 原文地址:https://www.cnblogs.com/lqcdsns/p/6068297.html
Copyright © 2011-2022 走看看