Skip to main content
Participant
November 26, 2018
Answered

相対パスを使いたいです

  • November 26, 2018
  • 2 replies
  • 679 views

相対パスを使いたいのですが、エラ−1010が出てうまくいきません。

四角の中にテキストフィールド(textA)を入れたシンボル(sinboru)をコードで制御したいのですが、

エラ−1010A term is undefined and has no properties.が出てうまくいきません。

this.sinboru.textA.text="aa"

どうすればパスを使えるようになるのでしょうか?

ご存知の方がいらっしゃいましたら、ご教授願います。

animateバージョン19 、OS10.13.6、ActionScript 3.0

This topic has been closed for replies.
Correct answer Fumio Nonaka

タイムラインの初期化は、親から子の順に行われます。そのため、親タイムラインのスクリプトが実行されるとき、まだ子の中のテキストフィールド(TextField)インスタンスの初期化が済んでおらず、undefined(未定義)とされるのだと考えられます。1フレーム後にスクリプトを書くか、1フレームスクリプトで待たせればよいでしょう。

import flash.events.Event;

this.addEventListener(Event.ENTER_FRAME, setText);

function setText(event) {

  this.sinboru.textA.text="aa";

  this.removeEventListener(Event.ENTER_FRAME, setText);

}

2 replies

95333904Author
Participant
November 28, 2018

解決しました!

とても困っていたので、助かりました。

本当にありがとうございます。

Fumio Nonaka
Community Expert
Fumio NonakaCommunity ExpertCorrect answer
Community Expert
November 28, 2018

タイムラインの初期化は、親から子の順に行われます。そのため、親タイムラインのスクリプトが実行されるとき、まだ子の中のテキストフィールド(TextField)インスタンスの初期化が済んでおらず、undefined(未定義)とされるのだと考えられます。1フレーム後にスクリプトを書くか、1フレームスクリプトで待たせればよいでしょう。

import flash.events.Event;

this.addEventListener(Event.ENTER_FRAME, setText);

function setText(event) {

  this.sinboru.textA.text="aa";

  this.removeEventListener(Event.ENTER_FRAME, setText);

}