如何解决如何使用动画 HAXE/OPENFL 显示形状
'''
var sprite:Sprite;
var step = 0.5;
var colors = [
0xFFFF0B,0xFF700B,0x4286f4,0xf441e8,0x8dff6d,0x41ccc9,0xe03375,0x95e032,0x77c687,0x43ba5b,0x0ea3ba
];
var widthScreen = Lib.current.stage.stageWidth;
var heightScreen = Lib.current.stage.stageHeight;
public function new() {
this.sprite = new Sprite();
// fallDown();
// super();
}
public function getfigures() {
arrfigures.push(createCircle);
arrfigures.push(createRectangle);
arrfigures.push(createTriangle);
arrfigures.push(createpolygon);
arrfigures.push(createEllipse);
return arrfigures;
}
private function createCircle() {
sprite = new Sprite();
var randCol = Math.floor(Math.random() * colors.length);
sprite.graphics.beginFill(colors[randCol],1);
sprite.graphics.linestyle(2,0x000000);
sprite.graphics.drawCircle(0,50);
sprite.x = Math.floor(Math.random() * widthScreen);
// sprite.y = Math.floor(Math.random() * heightScreen);
return sprite;
}
public function createRectangle() {
var rectangle = new Sprite();
var randCol = Math.floor(Math.random() * colors.length);
var rectangleX = Math.floor(Math.random() * heightScreen);
var rectangleY = 0;
// var rectangleY = Math.floor(Math.random() * widthScreen);
rectangle.graphics.beginFill(colors[randCol],1);
rectangle.graphics.linestyle(2,0x000000);
rectangle.graphics.drawRect(rectangleX,rectangleY,100,160);
return rectangle;
}
private function createTriangle() {
var triangle = new Sprite();
var triangleHeight = 110;
var randCol = Math.floor(Math.random() * colors.length);
triangle.graphics.beginFill(colors[randCol],1);
triangle.graphics.linestyle(2,0x000000);
triangle.graphics.moveto(triangleHeight / 2,0);
triangle.graphics.lineto(-60,0);
triangle.graphics.lineto(0,triangleHeight);
triangle.x = Math.floor(Math.random() * widthScreen);
triangle.y = Math.floor(Math.random() * heightScreen);
return triangle;
}
private function createpolygon() {
var polygon = new Sprite();
var randCol = Math.floor(Math.random() * colors.length);
polygon.graphics.beginFill(colors[randCol],1);
polygon.graphics.linestyle(2,0x000000);
polygon.graphics.moveto(0,0);
var sides = 5;
var radius = 80;
var center = (radius + 500) / 2;
var angle = 270 * Math.PI / 180;
for (i in 0...5) {
var x = (center + radius * Math.cos(i * 2 * Math.PI / sides + angle));
var y = (center + radius * Math.sin(i * 2 * Math.PI / sides + angle));
if (i == 0)
polygon.graphics.moveto(x,y);
else
polygon.graphics.lineto(x,y);
}
polygon.x = Math.floor(Math.random() * widthScreen);
polygon.y = Math.floor(Math.random() * heightScreen);
return polygon;
}
private function createEllipse() {
var ellipse = new Sprite();
var randCol = Math.floor(Math.random() * colors.length);
ellipse.graphics.beginFill(colors[randCol],1);
ellipse.graphics.linestyle(2,0x000000);
ellipse.graphics.drawEllipse(0,180,80);
ellipse.x = Math.floor(Math.random() * heightScreen);
ellipse.y = Math.floor(Math.random() * heightScreen);
return ellipse;
}
private function arrIntrval() {
sprite.y += step;
}
public function fallDown() {
var timer = new Timer(5);
timer.run = arrIntrval.bind();
}
'''
'''
public function new() {
super();
model.fallDown();
showInterval();
clickBtn();
}
private function showInterval() {
var timer = new Timer(1000);
timer.run = anim.bind();
}
private function anim() {
var getArr = model.getfigures();
for (i in 0...num) {
addChild(getArr[i]());
}
}
private function clickBtn() {
var plus = browser.document.getElementById("increasefigure");
plus.onclick = (event) -> num++;
var minus = browser.document.getElementById("reducefigure");
minus.onclick = (event) -> num--;
}
}
现在圆圈是自动添加的,如何制作,以便单击另一个图形并且已经添加了动画,并且自动推导出了2个图形。即点击1秒显示2个数字,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。