如何从文档类中引用符号?

时间:2016-03-26 04:28:33

标签: actionscript-3

所以我在这里创建了一个名为devTextMC的MovieClip符号。我已将.fla文件链接到名为supportForce的(文档)类,并从中执行所有代码。但是,我无法在devTextMC内对supportForce进行任何引用。例如 -

addChild(devTextMC);

给出错误1067:将类型Class的值隐式强制转换为不相关的类型flash.display:DisplayObject。我对这里要做什么有点了解,也就是说,要声明一个变量或其他东西,但我不确定。

如果这个问题不重要,我感到非常抱歉,但我需要澄清一下。提前谢谢。

1 个答案:

答案 0 :(得分:0)

devTextMC是一个类,而你想要添加到舞台的东西是一个类的实例。如果您不确定这意味着什么,请阅读有关面向对象编程的内容。

基本上,devTextMC是你用来制作符号的东西,但它不是符号本身。您创建符号的方式是使用toAutoChangeScale关键字:

procedure TForm1.Edit3Change(Sender: TObject);
var
  Delta: Double;
  i: byte;
begin
  Delta := UpDown1.Position / VirtualStringTree1.Font.Size;
  VirtualStringTree1.BeginUpdate();
  try
  VirtualStringTree1.Font.Size        := UpDown1.Position;
  VirtualStringTree1.Header.Font.Size := UpDown1.Position;
  VirtualStringTree1.Header.Height := Round(VirtualStringTree1.Header.Height * Delta);
  for i := 0 to VirtualStringTree1.Header.Columns.Count -1 do
    VirtualStringTree1.Header.Columns.Items[i].Width := Round(VirtualStringTree1.Header.Columns.Items[i].Width * Delta);
  finally
    VirtualStringTree1.EndUpdate();
  end;
end;

procedure TForm1.VirtualStringTree1MeasureTextHeight(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
  const Text: string; var Extent: Integer);
begin
  Sender.NodeHeight[Node] := Round(Extent * 1.1);
end;

因此,一种简单的方法就是用

替换你的代码行
new

如果要跟踪此符号,可以使用变量。然后你可以做像

这样的事情
new devTextMC();