0

ダイナミックテキストフィールドに非常に長いクラシックテキストがあり、UIScrollBarでスクロールできます。内部には多くの参照があり、一部はWeb内のサイトへの参照、一部は内部にテキストフィールドがあるムービークリップのさまざまなフレームで配布した他のテキストへの参照です。プロパティパネルのリンクフィールドとターゲットフィールドを使用して、テキスト内から外部Webサイトに問題なくリンクできます。gotoAndStopメソッドの関数を使用して、ボタンを使用して特定のフレームにリンクすることに問題はありません。しかし、テキスト内の選択した単語から特定のフレームに移動することはできません。実際、プロパティパネルのリンクフィールドとターゲットフィールドを使用して、コンピューター内のファイルに移動することさえできません。[テキストをhtmlとしてレンダリング]ボタンをクリックしても、Htmlタグはレンダリングされません。スクロールバーが原因でテキストを静的に変更できません。私は出来ます' また、スクロールすると単語がずれてしまうため、単語の後ろに非表示のボタンを使用します。varがどのように役立つかわかりません。これは、テキストフィールドに選択した単語のみが表示されるためです。私はファイルをターゲットにできず、httpだけをターゲットにしているので、アンカーも役に立たないようです。どんなアイデアでも大歓迎です。

4

1 に答える 1

2

あなたが望むことは可能です。ただし、フラッシュテキストフィールドのバグのおかげで少し欠点があります。まず、テキストフィールドのテキストはhtmlテキストであり、選択可能である必要があります。次に、ここを見てください: テキストフィールドリンクイベント

    public function TextField_event_link() {
        myMP3 = new Sound();
        var text:TextField = new TextField();
        text.autoSize = TextFieldAutoSize.LEFT;
        text.multiline = true;
        text.htmlText = "Hello this is my little site. Click <a href=\"event:imprint\">here</a>for the imprint. And <a href=\"event:imprint\">here</a> for the about page. And if you're coming so far, also <a href=\"event:imprint\">here</a> for the exit";

        list.addEventListener(TextEvent.LINK, linkHandler);
        addChild(list);
    }

    private function linkHandler(linkEvent:TextEvent):void {
        switch(linkEvent.text)
        {
             case "imprint":
                 //display imprint
                 break;
             case "about":
                 //display about
                 break;
             case "exit":
                 //exit
                 break;
        }
    }

ハンドラーでイベント名を比較して、魔法をかけることができます。テキストを選択できない場合、これは機能しません。アドビが最新のプレーヤーでその問題を修正したが、これは何年もの間私を悩ませていたのなら、ドノ!

于 2012-05-12T18:52:53.773 に答える