1

Flex Builder 3を使用して新しいActionScriptプロジェクトを作成し、試してみました

次のファイルを実行します。このエラーが発生します:

定義:fl.controls:Buttonが見つかりませんでした。私がやりたいのは、アプリケーションにボタンを追加することだけです。どうすればいいですか?

package  {
        import PaperBase;
        import org.papervision3d.objects.primitives.Cone;
        import fl.controls.Button;
        import fl.controls.Label;
        import fl.events.ComponentEvent;

        public class cone1 extends PaperBase {
            public var cone:Cone = new Cone();
            protected var sceneWidth:Number;
            protected var sceneHeight:Number;
            public function cone1() {
                sceneWidth = stage.stageWidth
                sceneHeight = stage.stageHeight;
                init(sceneWidth*0.5,sceneHeight*0.5);//position of the cone
            }
            override protected function init3d():void {
                cone.scale = 5;
                cone.pitch(-40)
                default_scene.addChild(cone);
            }
            override protected function processFrame():void {
                cone.yaw(1);//rotation speed
            }
        }
    }
4

4 に答える 4

3

fl.* パッケージは Flex ではなく Flash Professional の一部です。Flex の場合、mx.* パッケージの一部であるコンポーネントを使用する必要があります。

そうは言っても、Flash コンポーネントを Flex で使用できると確信しています。私はそれが私の頭の上からどのように行われたのか分かりません。

また、「ボタンのような」UI 要素を取得するために実際のボタン コンポーネントは必要ありません。InteractiveObject を拡張する任意のクラスで十分です。これにはスプライトとムービークリップが含まれます。

于 2009-06-21T03:52:45.100 に答える
1

使用している IDE のバージョンによって異なります。CS4 と Mac の場合、場所は /Applications/Adobe Flash CS4/Common/First Run/Classes になります。

そのフォルダーまたはインストール/OS の関連フォルダーを flashbuilder/eclipse のクラスパスに追加すると、クラス呼び出しが正常に解釈されます。

純粋な actionscript をコーディングしていて、flex コンポーネントを使用したくない場合、または混合コーディングと IDE アプローチでの設計を採用している場合、これは理にかなっています。

@philip 埋め込みタグは純粋な actionscript では使用できません

于 2010-03-12T17:42:13.850 に答える
1

Branden は正しいです。fl パッケージは Flash IDE の一部です。どちらかわかりませんが、パッケージがファイル システムのどこにあるかがわかっている場合は、クラス パスにパッケージを追加できる可能性があります。どこかを推測しています。 C:/program files/adobe/flash 内

フレックスビルダーでコンポーネントを使用したい場合は、アクションスクリプトプロジェクトではなくフレックスプロジェクトを作成する必要があると思います

インポートを次のように変更します。

import mx.controls.Button;
import mx.controls.Label;
import mx.events.FlexEvent;

また、コンポーネントを使用する必要がない場合は、ブランデンが言ったようにボタンにスプライトを使用でき、ラベルに TextField を使用できます。

フラッシュ IDE を使用している場合の別のオプションは、SimpleButton を作成することです。F8 選択ボタンを押して、Enter をクリックします。次に、ライブラリ パネルで右クリックしてリンケージ名を選択し、リンケージ名を付けます。次に、.swf をエクスポートし、swf をプロジェクトの src フォルダーに配置して、次のように埋め込みます。

[Embed(source="flashfile.swf")]
public var myButton:Class;

この方法で Flash IDE コンポーネントをエクスポートすることもできるかもしれませんが、確かではありません...実際には、[Embed] メタデータが actionscript プロジェクトまたは単に flex プロジェクトで機能する場合、100% 肯定的ではないので、確認して確認する必要があります。 .

于 2009-06-23T20:39:26.863 に答える
0

必要な理由はわかりませんが、Flash ライブラリを Flex にインポートする必要がある場合は、必要なものを Flash のステージにドラッグし、.swc ファイルとしてエクスポートして、Flex プロジェクトにインポートしてみてください。

于 2009-06-23T20:58:14.563 に答える