我一直在研究代码并学习算法以及不同的方法和概念。我目前正在研究圆形包装,并试图通过第一阶段。我对javascript比较陌生,只处理过Java和最少的c ++。
我已经编写了一个名为write()
的{{1}},并将该class
初始化为一个数组,这使我可以使用如下代码在屏幕上绘制多个圆圈:
CircleShape
在以前的实验中,我设法使用以下方法使单个圆圈的尺寸增大:
class
这将在绘制圆本身之后执行,圆是分配了var renderer;
var graphics;
var widthOfScreen = 800;
var heightOfScreen = 400;
var circles = [];
function initRenderer() {
console.log("initializing renderer 2..");
renderer = new PIXI.Application(widthOfScreen, heightOfScreen, { antialias: true });
document.getElementById("pixidisplay-1").appendChild(renderer.view);
graphics = new PIXI.Graphics();
for (var i = 0; i < 500; i++) {
circles[i] = new CircleShape(Math.floor((Math.random() * widthOfScreen) + 1), Math.floor((Math.random() * heightOfScreen) + 1), Math.floor((Math.random() * 2) + 1));
}
}
function draw() {
console.log("drawing 2..");
for (var i = 0; i < 500; i++) {
circles[i].drawCircleShape();
}
}
function CircleShape(_x, _y, _s) {
this.x = _x;
this.y = _y;
this.s = _s;
var str = '#1C3144', num = parseInt(str.substring(1), 16);
this.drawCircleShape = function drawCircleShape() {
graphics.lineStyle(0);
graphics.beginFill(num, 1);
graphics.drawCircle(this.x, this.y,this.s);
graphics.endFill();
renderer.stage.addChild(graphics);
}
}
initRenderer();
draw();
的变量。
最初,我拥有app.ticker.add(function(delta) {
circle.scale.set(size);
size = size + 0.1 * delta;
});
,并尝试通过在PIXI.Graphics()
旁边进行操作来递增circle.drawCircle(0,0,this.s)
变量。因为没有任何成功,所以我决定改用s
。我仍然不确定哪种方法最好。不确定将ticker.add(function(delta)
初始化在Circle circle.scale.set(s)
之外还是在圈子内部是否更好。 (我会在类内部进行假设,但是我真的不知道使用javascript)
我的基本目标是采用类和数组方法,以随机的位置(一次或连续)将圆绘制到屏幕上,圆随着时间的推移而增长,并且能够调整圆的增长量。
最终,我将使用某种条件使圆圈停止接触另一个圆圈或画布边缘。
任何帮助将不胜感激。温斯顿
我将在稍后发布一些示例,说明我的目标。谢谢。