Javascript 使用createJS绘制正方形可以创建矩形
除了标题不完全正确之外,我在使用createJs绘制正方形时遇到了问题。我画的矩形的边长都一样大,通常会生成一个正方形,但对我来说,我得到的是: 我使用的代码如下(非常简化):Javascript 使用createJS绘制正方形可以创建矩形,javascript,html5-canvas,easeljs,createjs,Javascript,Html5 Canvas,Easeljs,Createjs,除了标题不完全正确之外,我在使用createJs绘制正方形时遇到了问题。我画的矩形的边长都一样大,通常会生成一个正方形,但对我来说,我得到的是: 我使用的代码如下(非常简化): 函数getRandomNumber(最大值) { 返回Math.floor(Math.random()*max); } 变量颜色=[“红色”、“绿色”、“蓝色”]; 函数createTileArea() { var stage=newcreatejs.stage(“tileArea”); stage.name=“sta
函数getRandomNumber(最大值)
{
返回Math.floor(Math.random()*max);
}
变量颜色=[“红色”、“绿色”、“蓝色”];
函数createTileArea()
{
var stage=newcreatejs.stage(“tileArea”);
stage.name=“stage”;
变量大小=50;
用于(行=0;行<10;行++){
用于(列=0;列<10;列++){
变量id=行+列+列;
var color=颜色[getRandomNumber(3)];
var tile=new createjs.Shape();
瓷砖。图形。填充(颜色);
tile.graphics.drawRect(0,0,大小,大小);
tile.graphics.endFill();
瓷砖x=立柱*尺寸;
瓷砖y=行*尺寸;
瓷砖高度=尺寸;
瓷砖宽度=尺寸;
tile.name=id;
舞台。添加儿童(瓷砖);
}
}
stage.update();
}
createTileArea();
我这里有一把小提琴:
我的问题是:我有一个宽度和高度都为500px的画布,我生成了10个50 px高宽的矩形,为什么我得到6个水平正方形和3个垂直正方形,它们都是矩形?
这是某种缩放问题吗?不要使用css样式来调整画布的大小,而是直接在html或代码中更改画布的宽度和高度。
否则,createJs将设置宽度和高度(默认值为300X150),css将作为缩放,将其放回-在您的示例中为-500X500。不要使用css样式调整画布大小,而是直接在html或代码中更改其宽度和高度。
否则createJs将设置宽度和高度,这似乎默认为300X150,css将作为缩放,将其放回-在您的示例中-500X500。Hehe,就是这样,我不知道。非常感谢你!呵呵,就是这样,我不知道。非常感谢你!
function getRandomNumber(max)
{
return Math.floor(Math.random() * max);
}
var colors = ["Red", "Green", "Blue"];
function createTileArea()
{
var stage = new createjs.Stage("tileArea");
stage.name = "stage";
var size = 50;
for (row = 0; row < 10; row++) {
for (col = 0; col < 10; col++) {
var id = row + "_" + col;
var color = colors[getRandomNumber(3)];
var tile = new createjs.Shape();
tile.graphics.beginFill(color);
tile.graphics.drawRect(0, 0, size, size);
tile.graphics.endFill();
tile.x = col * size;
tile.y = row * size;
tile.height = size;
tile.width = size;
tile.name = id;
stage.addChild(tile);
}
}
stage.update();
}
createTileArea();