看你有多色游戏源码

Rect.js

function Rect(n,color){					//function Rect(n,color,RectColor);n小方块横向或纵向个数,color当前默认颜色,RectColor点击颜色
	createjs.Shape.call(this);
	this.setRectType = function (type){
		this._RectType = type;
		switch(type){
			case 1:
				this.setColor(color);
				break;
			case 2:
				this.setColor("#ff0000");
				break;
		}
	}
	this.setColor = function(colorString){
		this.graphics.beginFill(colorString);		//开始绘制
		this.graphics.drawRect(0,0,400/n-5,400/n-5);//左居左为0,上居上为0,右居左为宽400px/n-5(计算列数,-5是为了设置列间距),下居上为400/n-5(正好为正方形)
		this.graphics.endFill();					//结束绘制
	}
	//设置类型
	this.getRectType = function(){
		return this._RectType;
	}
	this.setRectType(1);
}
//初始化
Rect.prototype = new createjs.Shape();

app.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 n=2;
function addRect(){
	var cl = parseInt(Math.random()*1000000);
	var color="#"+cl;
	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);//var r = new Rect(n,color,RectColor);
			gameView.addChild(r);
			r.x = indexX;
			r.y = indexY;
			if(r.y == y&&r.x == x){
				r.setRectType(2);
			}
			r.x = indexX*(400/n);
			r.y = indexY*(400/n);
			if(r.getRectType()==2){
				r.addEventListener("click",function(){
					if(n<7){
						++n;
					}
					gameView.removeAllChildren();//移除所有图形
					addRect();//重新创建
				})
			}
		}
	}
}
addRect();

index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>看你有多色</title>
		<script src="js/easeljs-0.7.1.min.js"></script>
		<script src="js/Rect.js"></script>
	</head>
	<body>
		<canvas id ="gameView" width="400px" height="400px"></canvas>
		
		<script src="js/app.js"></script>
	</body>
</html>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值