HTML5游戏-看你有多色

需引入easeljs-0.7.1.min.js

html:

<div align="center">
    <canvas width="400px" height="400px" id="gameView"></canvas>
    <div>倒计时:<a id="aid2">60</a>s 分数:<a id="aid">0</a>
    </div>
</div>


<script src="js.js"></script>
Rect.js,在html中需要引入:
function Rect(n,color){//个数
    createjs.Shape.call(this);//构造方法
    this.setRectType = function (type) {
        this._RectType = type;
        switch (type){
            case 1:
                this.setColor(color);
                break;
            case 2://选项的颜色
         //       this.setColor("white");
                this.setColor("#"+parseInt(Math.random()*1000000));
                break;
        }
    };
    this.setColor = function (colorString) {
        this.graphics.beginFill(colorString);
        this.graphics.drawRect(0,0,400/n-5,400/n-5);
        this.graphics.endFill();
    };
    this.getRectType = function () {
        return this._RectType;
    };
    this.setRectType(1);
}
Rect.prototype = new createjs.Shape();
主要的js代码(js.js):
var stage = new createjs.Stage("gameView");
createjs.Ticker.setFPS(30);
createjs.Ticker.addEventListener("tick", stage);
var gameView = new createjs.Container();
stage.addChild(gameView);//固定代码

var aid = document.getElementById("aid");
var score = 0;

var n = 2;//初始2行
function addRect() {
    var color = "#" + parseInt(Math.random() * 1000000);//随机颜色
    var x = parseInt(Math.random() * n);
    var y = parseInt(Math.random() * n);
    for (var indexX = 0; indexX < n; indexX++) {
        for (var indexY = 0; indexY < n; indexY++) {
            var r = new Rect(n, color);
            gameView.addChild(r);
            r.x = indexX;
            r.y = indexY;
            if (r.x == x && r.y == y) {
                r.setRectType(2);
            }
            r.x = indexX * (400 / n);
            r.y = indexY * (400 / n);
            if (r.getRectType() == 2) {
                r.addEventListener("click", function () {
                    if (n < 9) {
                        ++n;
                    }
                    gameView.removeAllChildren();
                    score++;
                    aid.innerHTML = score + "";
                    addRect();
                });
            } else if (r.getRectType() == 1) {
                r.addEventListener("click", function () {
                    alert("你有" + score + "分色");
                    window.location.reload();
                });
            }
        }
    }
}
addRect();

window.onload = function () {
    time();//不放这第一次undefineds
};
var t = 60;
function time() {
    var aid2 = document.getElementById("aid2");

    aid2.innerHTML = t + "";
    t--;
    setTimeout(time,1000);
    if(t == -1 ){
        alert("你有" + score + "分色");
        window.location.reload();
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值