首页 > 解决方案 > 如何更改堆中的字体大小?

问题描述

我目前正在使用 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();
    }
}

标签: haxe

解决方案


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

您可以:

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

推荐阅读