サイトトップ

Director Flash 書籍 業務内容 プロフィール

Macromedia Flash非公式テクニカルノート

TextField.hscrollを設定すると背景が不透明になる

ID: FN0403002 Product: Flash

Platform: All
Version: MX & MX 2004

1. 現象
Flash MXおよびMX 2004で、TextField.hscrollプロパティを設定すると、塗りなし(透明)に設定してあった背景が不透明に変更されます。MacintochおよびWindowsの両プラットフォームで報告されている問題です。

たとえば、メインのタイムラインに塗りなし(デフォルト)のTextFieldインスタンスmy_txtを配置して、以下のスクリプトをButtonまたはMovieClipに設定すると、インスタンスをクリックしたとき水平スクロールするとともに背景が不透明に変更されます。

// ButtonまたはMovieClip: TextFieldインスタンスを水平スクロールさせるボタン
// ButtonまたはMovieClipアクション
// TextFieldインスタンス_root.my_txtを配置
on (release) {
  _root.my_txt.hscroll += 1;
}

2. 原因
TextFieldインスタンスのTextField.hscrollの値を変更すると、そのインスタンスのTextField.backgroundプロパティがtrueに設定されます。したがって、背景の塗りをなし(透明)にしていても、不透明の状態に変更されます。Macromediaでは、この問題をバグとして確認しているとのことです。

3. 対処法
TextFiled.hscrollプロパティの値を設定する前に、必ずTextField.backgroundの値を取得しておきます。そのうえで、TextField.hscrollの設定後に、TextField.backgroundの値を戻します。

// ButtonまたはMovieClip: TextFieldインスタンスを水平スクロールさせるボタン
// ButtonまたはMovieClipアクション
// TextFieldインスタンス_root.my_txtを配置
on (release) {
   bBackground = _root.my_txt.background; // TextField.background値を取得
  _root.my_txt.hscroll += 1;
  _root.my_txt.background = bBackground; // TextField.background値を戻す
}

_____

作成者: 野中文雄
作成日: 2004年3月31日


Copyright © 2001-2004 Fumio Nonaka.  All rights reserved.