Как мне динамически создавать текст в видеоклипе [AS3]?

#actionscript-3 #flash

#actionscript-3 #flash

Вопрос:

Я хочу нажать на кнопку, а не текст

 btn_start.t1.text = "hello world" // not working
  

Комментарии:

1. В чем конкретно заключается ваш вопрос? Это непонятно. Используйте больше слов

2. Я, как обычно, согласен с @NealDavis! Отредактируйте свой вопрос, пожалуйста!

Ответ №1:

Грубый код… Вам придется поработать над этим, но это кажется простым. Вам просто нужно задать свой текст для каждого состояния SimpleButton для каждого состояния при его создании. Вот и все. Теперь вы можете вставлять шрифты, изменять стиль вашего текстового поля…

 var btn_start:SimpleButton = new SimpleButton();
addChild(btn_start);
btn_start.upState = drawUpstate(0xcc5500,"upstate");
btn_start.downState = drawDownstate(0x444444,"downstate");
btn_start.hitTestState = drawDownHitTeststate();
btn_start.overState = drawOverState(0x888888,"overtstate");
addChild(btn_start);
placeButton(btn_start,50,50);
function drawUpstate(color:int, btnLabel:String):Sprite {
    var btn_color:uint = color;
    var mc:Sprite = new Sprite();
    var textLabel:Sprite = new Sprite();
    var tf : TextField = new TextField();
    tf.textColor = 0xffffff;
    tf.text = btnLabel;
    mc.addChild(tf);
    var g:Graphics = mc.graphics;
    drawButton(g,btn_color);
    return mc;
}
function drawDownstate(color:int, btnLabel:String):Sprite {
    var btn_color:uint = color;
    var mc:Sprite = new Sprite();
    var textLabel:Sprite = new Sprite();
    var tf : TextField = new TextField();
    tf.textColor = 0xffffff;
    tf.text = btnLabel;
    mc.addChild(tf);
    var g:Graphics = mc.graphics;
    drawButton(g,btn_color);
    return mc;
};
function drawDownHitTeststate():Sprite {
    var btn_color:uint = 0x0000000;
    var mc:Sprite = new Sprite();
    var g:Graphics = mc.graphics;
    drawButton(g,btn_color);
    return mc;
};
function drawOverState(color:int, btnLabel:String):Sprite {
    var btn_color:uint = color;
    var mc:Sprite = new Sprite();
    var textLabel:Sprite = new Sprite();
    var tf : TextField = new TextField();
    tf.textColor = 0xffffff;
    tf.text = btnLabel;
    mc.addChild(tf);
    var g:Graphics = mc.graphics;
    drawButton(g,btn_color);
    return mc;
};
function drawButton(g:Graphics,color:uint) {
    g.beginFill(color,1);
    g.drawRect(0,0,100,20);
    g.endFill();
};
function placeButton(btn:SimpleButton,x:uint,y:uint):void {
    btn.x = x;
    btn.y = y;
};
  

С наилучшими пожеланиями.

Николас

Комментарии:

1. @tasha 95, твой вопрос неясен, но я не стал его отклонять. Кажется, вы новичок на этом веб-сайте. Пожалуйста, разместите больше кода и более подробной информации о вашей проблеме, если вам нужен ответ. Вы можете отредактировать свой вопрос и сделать его более конкретным, вы наверняка быстро получите лучший ответ.

2. @tasha95 Возможно, вам тоже нужно встроить шрифты… Но я понятия не имею, поскольку ваш вопрос действительно неясен!

3. И, пожалуйста, дайте нам обратную связь! @tasha95