如何更改堆中的字体大小?

问题描述

我目前正在使用 Heaps 在 Haxe 中进行编码,并正在检查如何显示文本。我想做的一件事是为不同的文本提供不同的字体大小。当然,我声明了两个 Font 实例并调整了其中一个的大小。但是,两个文本都调整了大小,我无法独立调整它们的大小。我应该如何在堆中调整字体大小?

class Main extends hxd.App{
    override function init(){
       var font : h2d.Font = hxd.res.DefaultFont.get();
       var font2 : h2d.Font = hxd.res.DefaultFont.get();
       font2.resizeto(23);

       var tf = new h2d.Text(font);
       var tf2 = new h2d.Text(font2);

       tf.text = "Hello World\nHeaps is great!";
       tf.textColor = 0x00FF00;
       tf.x = 100;
       tf.y = 100;
       tf.textAlign = Center;

       tf2.text = "Hello World\nHeaps is great!";
       tf2.textColor = 0x00FF00;
       tf2.x = 300;
       tf2.y = 300;
       tf2.textAlign = Center;


       s2d.addChild(tf);
       s2d.addChild(tf2);

    static function main(){
        new Main();
    }
}

解决方法

所采取的方法不起作用,因为 DefaultFont.get() 缓存了结果。

你可以:

  • 通过执行 var font2 : h2d.Font = font.clone() 复制第二种字体,使其获得自己的属性。
  • 调整 scaleXscaleY 的文本。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...