【发布时间】:2016-05-08 11:47:02
【问题描述】:
我正在尝试学习如何使用 HTML 的 Canvas 及其属性。 现在我正在尝试绘制地面和天空,我希望天空为屏幕高度的 75%,地面为 25%。
这很容易使用 div,并使用 CSS 或 JavaScript CSS Query 设置样式。现在我在画布上,我不知道如何设置 fillRect 属性......
我的代码:
var windowHeight = $(window).height();
var windowWidth = $(window).width();
var skyHeight = windowHeight - (windowHeight * 0.25);
var groundHeight = windowHeight - (windowHeight * 0.75);
ctx = gameCanvas.getContext("2d");
ctx.fillStyle="green";
ctx.fillRect(0,0,windowWidth,windowHeight);
ctx.fillStyle="cyan";
ctx.fillRect(0,0,windowWidth,skyHeight);
另外:如果我尝试使用即
ctx.fillStyle="cyan";
ctx.fillRect(0,0,30,30);
这会在绿色“地面”背景上绘制一个完美的正方形,但如果我更改为即
ctx.fillRect(0,0,200,200);
它将填满我的整个屏幕高度,以及超过 50% 的屏幕宽度。
根据http://www.w3schools.com/tags/canvas_fillstyle.asp canvas fillrect 正在使用像素,但 200 x 200 像素绝对不应该填满我的整个屏幕高度。 :/
【问题讨论】:
-
你告诉画布它的尺寸是多少的部分在哪里?就像您需要具有特定大小的任何其他 HTML 元素一样,您需要告诉它它的
width和height是什么,否则它只会选择您不需要的随机值是。
标签: javascript html css canvas