微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用动画 HAXE/OPENFL 显示形状

如何解决如何使用动画 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 举报,一经查实,本站将立刻删除。