• Lingo08 Parent/Child


    Lingo中的Parent和Child,官方文档中称之为Parent Script和Child Object,实际上就是类和类的实例。

    构造new后返回me

    说child object是parent script的self-contained,独立完备的一个实例。

    区别实例用的地址,这个地址,就是me。

    因此在每个parent script的构造函数new的最后,最重要的语句就是return me。

    必须在new后返回当前实例的地址。

    -- parent script

    property myName  

    on new me, pName

    myName = pName

    return me

    end

       

    Child和Sprite、Movie

    script实例和真正意义上的类的实例又有些许不同。

    Director中的child object更像是对Director本身的对象Sprite,Movie等的一个扩展。

    child附着在sprite和movie上,为其增加更多更灵活的功能。

    而sprite和movie本身也提供了保存child object的列表:scriptInstanceListactorList

    形象的说

    Parent Script是cast列表中的一个cast member,

    Child Object是sprite或movie上的behavior或script扩展(actor?)。

    创建parent script

    • 新建一个movie,Ctrl+N;
    • 打开script window,Ctrl+0零;
    • 写脚本script;

    -- parent script

    property myName  

    on new me, pName

    myName = pName

    return me

    end

     

    • 在property inspector的script标签中设为parent Type。默认movie;
    • 将script命名为firstparent;(script windowt头部和cast window中都可对其命名)

    用用看parent

    child的new语法:

    child名称 = new (script "parent名,即script名", 参数列表)

    1. 打开消息窗口,Ctrl+M;
    2. 输入

    inst = new(script "firstparent","firstchild")

    put inst.myName

     

    1. 会输出

    -- "firstchild"

       

    在Movie中用parent

    1. 在script窗口(Ctrl+0零)创建一个新的Script,默认Type为Movie,不动;
    2. 输入

    on startMovie

    inst = new(script "firstparent","firstchild")

    put inst.myName && "created"

    end

     

    1. 运行movie,Ctrl+ Alt +P;
    2. 会看到消息窗口输出,注意firstchild和created之间有个空格。&&操作符连接字符串会加空格。

    -- "firstchild created"

  • 相关阅读:
    尽解powershell的workflow
    powershell玩转iis网站服务器
    Windows Terminal (Preview)治好了cmd,powershell的癌症
    博客园“NET Core 版博客系统”的运维浅见
    此贴告诉你:为啥shell脚本人,不建议学python
    关于revit的外部扩展存储
    Revit二次开发 屏蔽复制构件产生的重复类型提示窗
    xpath测试工具 xpath调试工具
    c# 防止重复运行 弹出已运行窗口并传递消息
    .NET APlayer播放器 demo
  • 原文地址:https://www.cnblogs.com/mumuliang/p/2230174.html
Copyright © 2020-2023  润新知