Torque2D MIT 脚本阅读(1) ImageFontToy

引擎演示DEMO是一个叫做SandBox的模块,它负责环境的创建,以及众多例子的扫描,切换.ImageFontToy作为一个简单例子,第一个学习.

每一个Toy都是一个独立的模块,类似常规C++的一个库.

模块定义

<ModuleDefinition
                // 模块编号
	ModuleId="ImageFontToy"
                // 模块编号
	VersionId="1"
                // 描述信息
	Description="Demonstrates creating an sprite that renders text."
                // 依赖资源(ToyAsset为所有例子的公共资源所在)
	Dependencies="ToyAssets=1"
                // 模块归类,便于查找,统计
	Type="toy"
                // 标签索引
	ToyCategoryIndex="3"
                // 主脚本
	ScriptFile="main.cs"
                // 启动函数
	CreateFunction="create"
                // 销毁函数
	DestroyFunction="destroy"/>

代码列举

function ImageFontToy::reset( %this )
{
    // 场景清空,做好准备
    SandboxScene.clear();
            
    // 创建ImageFont对象,ImageFont继承自SceneObject,是场景对象
    %object = new ImageFont();
    
    // 通常创建并且配置好对象后再加入场景,这样有最佳的执行效率.
    // 字体资源设置
    %object.Image = "ToyAssets:Font";
    
    // 设置位置
    %object.Position = "0 0";
    
    // 我们不需要手动设置字体对象的尺寸,因为他的尺寸会根据对齐方式,字体原本大小和文本自动变化
    // 字体尺寸设置,不是像素,是基于坐标轴的尺寸(不了解)
    %object.FontSize = "2 2";
    
    // 间距
    %object.FontPadding = 0;

    // 文本对齐方式
    %object.TextAlignment = "Center";

    // 文本内容
    %object.Text = " !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`~abcdefghijklmnopqrstuvwxyz";

    // 动作设定为自旋转
    //%object.AngularVelocity = 30;
    
    // 对象设置为动态类型,默认为静态,静态类型对于物理引力效果无效
    %object.BodyType = "dynamic";
    
    // 加入到场景中
    SandboxScene.add( %object );    
}

 效果图:

原文地址:https://www.cnblogs.com/KevinYuen/p/2944691.html