0

flash/as3 でスクロール可能なリストを作成したいのですが、重要なことは、ユーザーがリスト項目を上下に移動したい場合は、項目をドラッグすることで実行できます。アイテムを押したままにします...アイテムはドラッグ可能になり、ユーザーがリストを上下に移動すると、他のアイテムが空のスペースにスライドするはずです。スマートフォンで見られるのと同じ動作です....

作成、データの入力、スクロール、およびその他のマウス操作イベントを理解します..この 1 つの動作について助けてほしいだけです....アイテムをドラッグして順序を変更することです。誰かが基本的なアルゴリズムまたはこれを達成する方法を提供できれば、それで十分です。

よろしくお願いします

編集:

まず第一に...質問に関する詳細を投稿していないことをお詫びします...(これはこのサイトへの私の最初の投稿です)したがって、すべての調査とこれまでに行ったことを追加しています。

  • リストは大きなプロジェクトの一部であるため、コード全体を共有することはできません.

私がすでに行ったこと:

  • マスク、コンテナ、コンテナをスクロールするスクロールバー、リストに追加するアイテム、アイテムを追加するメソッド、アイテムを削除して順序に従って配置するメソッドを作成しました。
  • したがって、これはスクランブル可能な作業リストです。
  • すべてがas3とフラッシュのみです。
  • 私はフレックスを知りませんし、私もそれを使いたくありません。

次に欲しいもの:

  • これらのアイテムの順序を (アイテム上で mouse_down -> 上下にドラッグ -> その位置で mouse_up) の順序で変更したいと考えています。

誰かが詳細を知りたい場合は、共有できます。

前もって感謝します.. :)

4

2 に答える 2

0

シンプルな List コンポーネントをアプリケーションに追加する

この例では、List は、車のモデルを識別するラベルと、価格を含むデータ フィールドで構成されています。

新しい Flash (ActionScript 3.0) ドキュメントを作成します。

リスト コンポーネントを [コ​​ンポーネント] パネルからステージにドラッグします。

プロパティ インスペクターで、次の操作を行います。

インスタンス名 aList を入力します。

W (幅) に 200 の値を割り当てます。

Text ツールを使用して aList の下にテキスト フィールドを作成し、インスタンス名を aTf にします。

[アクション] パネルを開き、メインのタイムラインでフレーム 1 を選択し、次の ActionScript コードを入力します。

import fl.controls.List; 
import flash.text.TextField; 

aTf.type = TextFieldType.DYNAMIC; 
aTf.border = false; 

// Create these items in the Property inspector when data and label 
// parameters are available. 
aList.addItem({label:"1956 Chevy (Cherry Red)", data:35000}); 
aList.addItem({label:"1966 Mustang (Classic)", data:27000}); 
aList.addItem({label:"1976 Volvo (Xcllnt Cond)", data:17000}); 
aList.allowMultipleSelection = true; 

aList.addEventListener(Event.CHANGE, showData); 

function showData(event:Event) { 
    aTf.text = "This car is priced at: $" + event.target.selectedItem.data; 
}

このコードは、addItem() メソッドを使用して aList に 3 つの項目を設定し、それぞれにリストに表示されるラベル値とデータ値を割り当てます。リスト内の項目を選択すると、イベント リスナーは showData() 関数を呼び出し、選択した項目のデータ値を表示します。

Control > Test Movie を選択して、このアプリケーションをコンパイルおよび実行します。

ソース: http://help.adobe.com/en_US/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7fa6.html

于 2012-12-16T18:12:06.537 に答える
0

最後に、他のフォーラムから回答を得ました。

リストに追加したい例(動作)へのリ​​ンクは次のとおりです。

http://www.learningactionscript3.com/2008/05/13/the-power-of-relative-positioning/

(下部の「高度な位置合わせの例」)。

于 2012-12-17T05:40:53.450 に答える