バグ
気づかないうちにハマってしまう……それがActionScriptの天敵、バグの存在。時間を浪費する前に、チェックしてみては?
-
[AS3] ()を使った式が戻り値に指定された関数を[自動フォーマット]すると
[自動フォーマット]が、またやらかしてくれました。
つぎのフレームアクション(スクリプト001)を、[自動フォーマット]してから、[ムービープレビュー]で確認すると、答えとしていくつが[出力]されるでしょう。
スクリプト001■functionの戻り値に括弧()のある式を指定
function xTest(a:Number, b:Number, c:Number):Number {
return (a + b) * c;
}
trace(xTest(1, 2, 3));2007.06.05 | 野中 文雄 | [AS 3][ActionScript][バグ][野中ゼミ]
-
[AS3][Windows] クラスが見つからない・定義されていないというエラーが出る
Flash Professional 9 ActionScript 3.0 PreviewのWindows版で、クラスの定義もActionScript (AS)ファイルの保存場所も正しいはずなのに、コンパイルエラーを発生する場合があります。
2007.03.25 | 野中 文雄 | [AS 3][ActionScript][バグ][野中ゼミ]
-
少々マニアックな現象です。if条件のステートメントブロック{}内に設定した関数(function)が、こつ然と消えてなくなります。
2006.11.27 | 野中 文雄 | [ActionScript][バグ][野中ゼミ]
コメント (2) -
[AS3] Stage.stageWidth/Stage.stageHeightの戻り値がウィンドウサイズで変わる
ActionScript 3.0のStage.stageWidth/Stage.stageHeightプロパティは、1.0/2.0のStage.width/Stage.heightと同じく、現在のステージ幅と高さを返します。具体的には、Stage.scaleModeプロパティが"noScale"(StageScaleMode.NO_SCALE)に設定されている場合以外は、SWFファイルのドキュメントプロパティに設定されたサイズが返されるべきです(図001)。ところが、Flash Player 9.0r16では、実際にはFlash Playerのウィンドウサイズが返されてしまうようです。
2006.09.28 | 野中 文雄 | [AS 3][ActionScript][バグ]
-
Flash 8のNumericStepperインスタンスに、つぎのような[パラメータ]設定をしてみましょう(図001)。maximum = 10、minimum = 1、stepSize = 2、value = 1。[ムービープレビュー]してNumericStepperインスタンスを操作すると、値はどのように変化するでしょう?
図001■NumericStepperの[パラメータ]設定
2006.08.23 | 野中 文雄 | [ActionScript][バグ]
-
たった1行のスクリプトで、Flash 8.0のアプリケーションが落ちます。
2006.04.05 | 野中 文雄 | [ActionScript][バグ]
-
「ActionScript 2.0リファレンスガイド」によれば、newline定数は「キャリッジリターン文字 (¥r) を挿入します」。しかし、これは嘘です。挿入されるのは、改行文字(¥n)です。この点は、「ActionScript 2.0 の学習」の「エスケープ文字について」の解説を、英語版で確認すると理解できます(図001)。
2006.01.09 | 野中 文雄 | [ActionScript][バグ]
-
\r\nが改行コードとして認識されない[Flash 8/Mac OS X]
Flash 8/Mac OS Xで、つぎのスクリプトを実行してみます(図001)。
図001■[アクション]パネルに記述したスクリプト
2005.12.17 | 野中 文雄 | [ActionScript][バグ]
コメント (3) -
Key.onKeyUpイベントが受取れない[Flash 8]
Flash Player 8でパブリッシュしたSWFにおいて、確認された問題です。Key.onKeyUpイベントを受取れないことがあります。
2005.10.13 | 野中 文雄 | [ActionScript][バグ]
-
カンマ(,)演算子は、あまり使われることがありません。使用するメリットがあるのは、forステートメントくらいで、かぎられたものでしょう。しかし、「ActionScriptリファレンスガイド」に、かなり基本的な間違いがあります。
2005.08.31 | 野中 文雄 | [ActionScript][バグ]
-
ちょっとしたはずみで、スケルトンのScrollPaneができました。ScrollPaneに設定したMovieClipが、ScrollPaneインスタンスの外枠をはみ出して表示されます。
2005.06.27 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
怪談の「番町皿屋敷」ではありませんが、Stage.heightが100ピクセル足りなくなる現象です。怪談と違い、四季に関係なく、[ムービープレビュー]で発生します。
2005.04.06 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
大文字小文字の区別は、Flash Player 7から採用された仕様変更です。しかし、ブーリアン(論理)値true/falseは、Flash MX 2004 (7.2)を使ってFlash Player 6以前でパブリッシュした場合でも、大文字小文字を誤ると正しく認識されません。
2005.02.10 | 野中 文雄 | [ActionScript][バグ]
-
入れ子のMovieClipに設定したContextMenuが表示されない
Flash MX 2004(Flash Player 7)から、ContextMenuクラスを使って、コンテキスト(ショートカット)メニューをカスタマイズできるようになりました。ContextMenuオブジェクトは、MovieClipインスタンスに対して設定します。ところが、そのMovieClipインスタンスが他のMovieClipに入れ子になっていると、設定したコンテキストメニューが表示されません。
2005.01.25 | 野中 文雄 | [ActionScript][バグ]
-
タイムラインに配置するMovieClipやTextFieldインスタンスについても、ActionScript 2.0の型指定を行うことが可能です。型指定を行うと、型のシンタックスチェックが行われるほか、コードヒントを表示することができて便利です。しかし、インスタンスをダイナミックに作成する際には、注意が必要です。
2005.01.19 | 野中 文雄 | [ActionScript][バグ]
-
意外と使えないMovieClip.getNextHighestDepth()
MovieClip.getNextHighestDepth()メソッドは、現在使用されている最も数値の大きい深度のつぎ(+1)の値を返します。この値をスクリプトで新規に配置するMovieClipインスタンスの深度に設定すれば、他のMovieClipと重複せずに1番手前に配置することができます。しかし、このメソッド、実はあまり使えません。
2004.12.12 | 野中 文雄 | [ActionScript][バグ]
-
TextFieldインスタンスにHTMLテキストで<img>タグを設定したとき、その後に書かれたテキストは画像を回り込みます。この回り込みを、直接解除する方法はないようです。
2004.11.29 | 野中 文雄 | [ActionScript][バグ]
コメント (5) -
Flash MX 2004のMenuBarコンポーネントのインスタンスを配置すると、ボタンが不思議な動作をし始めます。
2004.11.02 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
[自動フォーマット]すると...
2004.10.09 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
trace((0x7fffffff+1).toString(16)); // 出力: 7fffffff // 1足りない?
2004.10.09 | 野中 文雄 | [ActionScript][バグ]
コメント (2) -
Flash MX 2004 7.2オンラインヘルプ[ActionScriptリファレンスガイド] > [undefined]より:
「Flash Player 6以前用にパブリッシュされたファイルでは、undefined.toString()は""(空のストリング)になります。Flash Player 7以降用にパブリッシュされたファイルでは、undefined.toString()はundefinedになります。」ひと言でいって「嘘」、ふた言なら「無茶」です。
2004.09.21 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
名前のない関数を定義すると同時に呼出すことができません。そういう必要があるかどうかは別として。
2004.08.23 | 野中 文雄 | [ActionScript][バグ]
-
動的に作成したComboBoxを削除して再作成すると項目が表示されない
UI Componentsのインスタンスは、UIObject. createObject()メソッドで動的に作成することができます。ところが、動的に作成したComboBoxインスタンスを一旦削除して再作成すると、設定した項目は正しく表示されないことがあります。
2004.08.17 | 野中 文雄 | [ActionScript][バグ]
-
Flash MX 2004から、TextFieldインスタンスに設定するHTMLテキストとして<img>タグが使えるようになりました。しかし、<img>タグで指定した画像を、表示できないことがあります。
2004.07.04 | 野中 文雄 | [ActionScript][バグ]
-
ActionScript 2.0のクラス定義では、クラスのインスタンスを参照する場合に、原則としてthis参照は不要です。thisは、自動的に補われるからです。ところが、this参照をつけないと、スクリプトが正しく動作しない場合があります。「this必須宗」が、一部で復活の兆しです。
2004.06.27 | 野中 文雄 | [ActionScript][バグ]
-
【問1】つぎのスクリプトを記述して、[自動フォーマット]を実行するとどうなるでしょう? いずれも、何かしらやらかしてくれます。
2004.06.21 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
continueステートメントは、ループ処理において、以降のステートメントをスキップして、つぎのループに処理を移します。ifやswitchステートメントは、continueが制御を移す対象ではありません。ところが、switchステートメントで、この勘違いが起こるようです。Flash MX 2004で確認された問題です。
2004.06.05 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
静的プロパティに設定した配列の値が取出せない[ActionScript 2.0]
ActionScript 2.0でクラスに静的(static)プロパティとして配列を設定した場合、クラスのメソッドで配列エレメントを取出せないという問題が発見されました。
2004.05.10 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
Macintosh環境でテキストフィールドに入力した文字「〜」が、Winodows上で上下反転して表示されることがあります。SWFをブラウザあるいはStandalone Playerで再生しても、プロジェクタに書出しても、同じ結果です。
2004.05.09 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
MovieClipのコードヒントにattachAudioがない
Flash MX 2004でMovieClipのコードヒントを表示すると、リストの中にattachAudioが見当たりません。一瞬、MoiveClipでなくSoundクラスのメソッドだったろうか、などと不安にかられます。
2004.05.04 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
FLASH-Japanで報告されたテキストのバグです。Flash MX 2004/MacOS Xで、「血」という文字が「荀」に変わります。
2004.03.27 | 野中 文雄 | [ActionScript][バグ]
コメント (5) -
【質問】Flash MX 2004(Flash Player 7書出し)で、以下のスクリプトの[出力]結果は、どうなるでしょう?
マニュアルを参照すると、結果を正しく予測することはできません。しかも、Flash MX 2004のコンパイラにバグがあるようです。Flashcodersで議論された問題です。
2004.03.26 | 野中 文雄 | [ActionScript][バグ]
-
Flash MX 2004の定義済みクラスの.asファイルを開いて、[シンタックスチェック]を行うと、エラーになる場合があります。
2004.03.25 | 野中 文雄 | [ActionScript][バグ]
-
ActionScript 2.0のinterfaceに関するバグです。クラスのメソッドにObject型の引数として、interfaceで型指定した値を渡すと、シンタックスエラーが発生します。
2004.03.25 | 野中 文雄 | [ActionScript][バグ]
コメント (3) -
Flash MX 2004オンラインヘルプの[Flashコンポーネントガイド] > [コンポーネントの作成] > [コンポーネントの利便性向上] > [ツールチップの追加]には、つぎのように説明されています。「コンポーネントにツールチップを追加するには、コンポーネントのActionScriptクラスファイル内のクラス定義の外部にtiptextキーワードを使用します」。嘘です。追加できません。
2004.03.25 | 野中 文雄 | [ActionScript][バグ]
コメント (2) -
Flash MX 2004で、外部SWFに配置したComboBoxをロードすると、クリックしてもドロップダウンリストを開けないことがあります。FLASH-Japanでも報告された問題です。
2004.01.24 | 野中 文雄 | [ActionScript][バグ]
-
System.capabilitiesオブジェクトにアクセスすると、あるとき突然そんなものは知らないといわれることがあります。コンパイラが記憶喪失になるという悲しいバグです。
2004.01.15 | 野中 文雄 | [ActionScript][バグ]
-
MX形式で保存するとエスケープ記号が変わる[MX 2004/OS X]
またMacOS X版Flash MX 2004の[アクション]パネルで、問題発見です。エスケープ文字(\)が、Flash MXフォーマットで保存すると、別の文字に変換されてしまいます。
2003.12.30 | 野中 文雄 | [ActionScript][バグ]
コメント (3) -
「ActionScript辞書」(Flash MX/MX 2004)には、int()関数が値を整数に丸める(四捨五入する)かのように記載されています。ドキュメントバグでしょう。
2003.12.23 | 野中 文雄 | [ActionScript][バグ]
コメント (3) -
Flash MX 2004のコンポーネントは、イベントリスナーを使って必要な処理を定義します。ところが、イベントリスナーの登録メソッドはあるものの、削除のメソッドが見当たりません。1度入ったら抜けられない怪し気な団体のようです。
2003.11.26 | 野中 文雄 | [ActionScript][バグ]
-
getURL()アクションまたはMovieClip.getURL()メソッドでウィンドウの指定をしても、Internet Explorer/Windowsでは、新規のブラウザウィンドウを開いてしまうことがあるようです。
2003.11.23 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
アクションパネルの怪しいテキスト表示[MX 2004/MacOS X]
Flash MX 2004/OS Xの[アクション]パネルは、テキストのレンダリングがどうも怪しいようです。
2003.11.10 | 野中 文雄 | [ActionScript][バグ]
-
String.splitの引数に複数文字を渡した場合[MX 2004]
Flashcodersで話題になったString.splitメソッドのバグです。Flash MX 2004で発生します(英語版Trial/Flash Player 7.0r14調べ)。
2003.10.23 | 野中 文雄 | [ActionScript][バグ]
コメント (2) -
ラベルのテキスト下1ピクセルが切れる
コンポーネントにラベルを設定すると、テキストの下1ピクセルが切れてしまうことがあります。たとえば図1は、RadioButtonコンポーネントのインスタンスにラベルを設定した例です。左がデフォルトの下1ピクセルが切れたテキスト、右がその問題を修正した後のラベルの状態です。
図1■テキストの下1ピクセルが切れたラベル(左)と、その問題を修正したラベル(右)2003.10.05 | 野中 文雄 | [ActionScript][バグ]
-
TextField.textプロパティをwatchすると既定値が取得できない
Object.watchメソッドは、指定したプロパティの値が変更されたときにコールバック関数を呼出します。ところが、TextField.textプロパティを対象にすると、コールバック関数呼出し時に必ずしもすべての情報が正しく受取れません。
2003.10.05 | 野中 文雄 | [ActionScript][バグ]
-
ひさし貸し母屋取られるelseかな
「ひさし(庇)を貸して母屋を取られる」ということわざがあります。[アクション]パネルの[自動フォーマット]をは、シンタックスをチェックしたり、フォーマットを整えてくれる便利な機能です。しかし、たまに余分なことをしてくれる場合があります。2003.10.05 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
MovieClipの三半器官障害?
人間をぐるぐると回してやると、目が回ってまっすぐに歩けなくなります。平衡感覚を司る三半器官に、一時的な障害が発生するためということらしいです。2003.07.12 | 野中 文雄 | [ActionScript][バグ]
-
生息場所:ノーマルモード
危険度:中(だけどしつこく、駆除しにくい)
[見る]2003.03.24 | AYA | [ActionScript][バグ]
-
生息場所:浮動小数点付計算
危険度:中(駆除はできるが、根絶は不可能)
[見る]2003.03.23 | AYA | [ActionScript][バグ]
-
生息場所:浮動小数点付計算
危険度:大(ただし、駆除は簡単)
[見る]2003.03.22 | AYA | [ActionScript][バグ]
-
生息場所:あちこち
危険度:ひょっとして一番大(駆除不可能)
[見る]2003.03.21 | AYA | [ActionScript][バグ]
-
問題ムービーのレシピ
この不思議な現象を再現するには、いくつかの条件を満たす必要があります。問題のムービーのつくり方は、つぎの3つのステップです。2003.02.06 | 野中 文雄 | [ActionScript][バグ]
-
MovieClip.attachMovieで配置したインスタンスがButtonになる
attachMovieはMovieClipを配置するメソッドのはず
MovieClip.attachMovieメソッドのシンタックスは、つぎのとおりです。myMovieClip.attachMovie( idName, newName, depth [, initObject] )
2003.01.24 | 野中 文雄 | [ActionScript][バグ]
コメント (1) -
マニュアルどおりに書いたなら
マニュアルはきちんと読みましょう。これが開発の基本です。さらにつぎのステップは、マニュアルを鵜呑みにするのはやめましょう。「ActionScript辞書」で#includeの項には、そのシンタックスがつぎのように記載されています。#include "filename.as";
2002.02.05 | 野中 文雄 | [ActionScript][バグ]
コメント (4) -
MovieClip私は誰?
2フレームから10フレームにわたるMovieClipを、メインのタイムラインにひとつ配置します。インスタンスの名前は「mc1」とします。そして、以下のオブジェクトアクションを設定しましょう。2001.10.24 | 野中 文雄 | [ActionScript][バグ]
-
「:」って何?
「ゲジラって何よ?」というCMがありますが、Flash 5でも思わずそう聞きたくなることがあります。n = 0.01+0.09;
trace (n);
//出力ウィンドウの結果
0.0:「0.0」までは、まがりなりにも数字です。その後の「:」が何なのでしょう。まるで意味のない値になってしまった、という訳ではないようです。
2001.09.24 | 野中 文雄 | [ActionScript][バグ]
-
ノーマルモードのお節介
上級者でもシンタックスチェック代わりに、「アクション」パネルを「エキスパートモード」から「ノーマルモード」に切換えるという方は少なくないと思います(筆者もそのひとり)。そうするとこの「ノーマルモード」、たまに、というよりはよく余計なお節介をしてくれます。2001.09.14 | 野中 文雄 | [ActionScript][バグ]