トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     変数の扱いについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
copperroad
Åê¹ÆNo.26053
投稿日時: 2006-6-14 17:05
半人前
居住地:
投稿: 59
使用環境:
Win Xp professional,Flash CS3
IE7.0
変数の扱いについて
初歩的な質問かもしれませんが、質問させてください。

変数が「1」の場合、10度回転するアクションをMCに書いたのですが、

script----------------------------
onClipEvent(load){
if(_parent.hensu == 1){
this._rotation = 10;
}
}
----------------------------------
変数のMCはインスタンス名「hs」変数は「hensu」です。

if文を、if(_parent.hs.text == 1)
に変えると動作しますが、変数を直接指定したいのです。

スクリプトのバージョンが8でレンダリングすると動作しませんが、7ですると動作します。
パスは通ってますが・・
flah8から変数の扱いが変わったのでしょうか?

超初歩的な感じですが・・・宜しくお願いします!

下記にサンプルがあります。
http://www.geocities.jp/dwt_22/7.html
http://www.geocities.jp/dwt_22/8.html
野中文雄
Åê¹ÆNo.26057
投稿日時: 2006-6-14 17:48
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 変数の扱いについて
TextFieldインスタンスhsについて、[プロパティ]インスペクタの[テキストをHTMLとしてレンダリング]のボタンをオンにしていませんか?
引用:
copperroadさんは書きました:
script----------------------------
onClipEvent(load){
	trace(_parent.hensu);
	if(_parent.hensu == 1){
		this._rotation = 10;
	}
}
----------------------------------
変数のMCはインスタンス名「hs」変数は「hensu」です。
...[中略]...
http://www.geocities.jp/dwt_22/8.html


----------------
 

copperroad
Åê¹ÆNo.26059
投稿日時: 2006-6-14 17:52
半人前
居住地:
投稿: 59
使用環境:
Win Xp professional,Flash CS3
IE7.0
Re: 変数の扱いについて
回答ありがとうございます。

>TextFieldインスタンスhsについて、[プロパティ]インスペクタの[テキストをHTMLとしてレンダリング]のボタンをオンにしていませんか?

いいえ、テキストをHTMLとしてレンダリング]のボタンはオフです。ほかの環境では再現されない現象でしょうか??
ちなみに、野中様の修正通りにtrace(_parent.hensu);の文を入れて8でレンダリングすると、エラーが出ますが、7でレンダリングすると大丈夫です。。。
ひろゆき
Åê¹ÆNo.26062
投稿日時: 2006-6-14 18:43
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 変数の扱いについて
引用:
copperroadさんは書きました:
いいえ、テキストをHTMLとしてレンダリング]のボタンはオフです。ほかの環境では再現されない現象でしょうか??

サンプル

_root にテキストフィールド (インスタンス名: hs / 変数名: hensu) を配置。
ダイナミックテキストにて、「1」を入力済み。

また、ムービークリップも _root に配置。
ムービークリップ には、
onClipEvent(load){
	if (_parent.hensu == 1) {
		this._rotation = 10;
	}
}
と記述。

FlashPlayer7 / FlashPlayer8 書き出しともに、問題なく回転。

念のため、flaファイルをダウンロードできるようにしておきました。




----------------
質問する際は、回答者に具体的な情報を与えてください。

野中文雄
Åê¹ÆNo.26063
投稿日時: 2006-6-14 18:45
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 変数の扱いについて
Flash Player 8でパブリッシュしても、とくに問題なく動作します

公開されたSWFをダウンロードし、ムービーにロードして確認してみると、変数hensuの値はHTMLタグつき文字列になっており、TextFieldインスタンスhsのTextField.htmltrueに設定されています(ソースをアップしていただけたら、確認はもっと簡単なのですけど)。

[デバッグ] > [変数のリストアップ]より引用:
変数 _level0.hensu = "<p align=\"left\"><font face=\"_ゴシック\" size=\"28\" color=\"#000000\" letterSpacing=\"0.500000\" kerning=\"0\">1</font></p>"
...[中略]...
テキスト編集: ターゲット="_level0.hs"
  ...[中略]...
  htmlText = "<P ALIGN=\"LEFT\"><FONT FACE=\"_ゴシック\" SIZE=\"28\" COLOR=\"#000000\" LETTERSPACING=\"0.5\" KERNING=\"0\">1</FONT></P>",
  ...[中略]...
  restrict = null, selectable = false, sharpness = 0, html = true,

[テキストをHTMLとしてレンダリング]のボタンをオンにするか、スクリプトでこれらのプロパティを設定しないかぎり、通常このような状態にはなりません。
引用:
copperroadさんは書きました:
いいえ、テキストをHTMLとしてレンダリング]のボタンはオフです。ほかの環境では再現されない現象でしょうか??

エラーになるのは問題です。スクリプトをマニュアルで入力し直すか、制御コードが紛れている可能性のあるスペースをすべて取り除くかして、再度お試しください。
引用:
ちなみに、野中様の修正通りにtrace(_parent.hensu);の文を入れて8でレンダリングすると、エラーが出ますが、7でレンダリングすると大丈夫です。。。


----------------
 

copperroad
Åê¹ÆNo.26069
投稿日時: 2006-6-14 19:53
半人前
居住地:
投稿: 59
使用環境:
Win Xp professional,Flash CS3
IE7.0
Re: 変数の扱いについて
なるほど。。。ありがとうございます!

「文字間隔」を0にすると直りました。(最初は2にしていました。)

「テキストをHTMLとしてレンダリング」は確かに解除していたんですが、デバックでそう出たのなら、僕の見落としですね。。
また、trace();を追加したときに出たエラーの中に、「"<p align=\"left\"><font face=\"_ゴシック\" size=\"28\" color=\"#000000\" letterSpacing=\"0.500000\" kerning=\"0\">1</font></p>"」等が出力されていました。


「文字間隔」でスクリプトに影響が出たりするものでしょうか。
野中文雄
Åê¹ÆNo.26074
投稿日時: 2006-6-14 21:21
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 変数の扱いについて
あ、[文字間隔]を設定すると、勝手にTextField.htmlプロパティがtrueに設定されてしまいますね。

ドキュメントにも、その旨の記載は見当たらないようです。勝手なことをするならするで、インターフェース上も、[テキストをHTMLとしてレンダリング]をオンに表示変更するなど、わかるようにしてほしかったところです。>Adobeさん
引用:
copperroadさんは書きました:
「文字間隔」を0にすると直りました。(最初は2にしていました。)

「テキストをHTMLとしてレンダリング」は確かに解除していたんですが、デバックでそう出たのなら、僕の見落としですね。。
...[中略]...「文字間隔」でスクリプトに影響が出たりするものでしょうか。

少なくとも[文字間隔]だけでしたら、スクリプトで設定すれば、勝手な変更は行われないようです。
onClipEvent (load) {
 var _fmt = new TextFormat();
 _fmt.letterSpacing = 2;
 _parent.hs.setTextFormat(_fmt);
 trace(_parent.hensu);
 if (_parent.hensu == 1) {
  this._rotation = 10;
 }
}


----------------
 

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops