0

Flash Builder 4.6 で新しいプロジェクトを開始していますが、正しい方向ではなく、ある方向に進む前にアドバイスが必要です。

基本的に、Flash Builder での私のアプリケーションはモバイル デバイスとタブレット用であるため、あらゆるデバイスの幅を正確に固定するチェス盤を作成する方法を知る必要があります。Flexで正確に行う方法がわかりません。

誰かがアイデアを提供したり、私が使用できる例を提供したりできますか?

ありがとう。

4

1 に答える 1

0

高さと幅が 100% の TileGroup/TileLayout を使用しないのはなぜですか? 次に、rowHeight を {this.height / ROWS} に設定し (ROWS はチェス盤にある行の数です)、columnWidth についても同じことを行います。horizo​​ntalGap および verticalGap プロパティを使用して、各ボックス間のセパレータとして使用できる黒い背景まで表示することもできます (もちろん、rowHeight および columnWidth の計算でこれを考慮する必要があります)。

Flex ではなく、AS3 を介して画面に入力します。このようなことは、私が念頭に置いていることです。

var columnCount:int = 0;
var rowCount:int = 0;
var boxes:int = 64; //however many boxes on a chess board goes here
for ( var i:Number = 0; i < boxes; i+ ){
    var rect:Rect = new Rect();
    var color:SolidColor;
    rect.percentHeight = 100;
    rect.percentWidth = 100;
    rect.name = i.toString(); //this will make it easier to keep track of which box is which later on
    if ( rowCount % 2 == 1 ) {
        if ( i % 2 == 1 ) color = 0x000000;
        else color = 0xffffff;
    }
    else {
        if ( i % 2 == 1 ) color = 0xffffff;
        else color = 0x000000;
    }
    this.rect.fill = color;
    this.tileGroup.addElement(rect);

    if ( columnCount == 7 ) {
        columnCount = 0;
        rowCount++;
    }
    else {
        columnCount++;
    }
}

これは完全に思いつきであり、テストされていないため、1 つまたは 2 つのエラーがあると確信していますが、どのように機能するかはお分かりいただけると思います。

編集: 後付けとして、rowCount/columnCount vars を使用せずに数学的に 100% 色を実行できますが、おそらくはるかに簡単です。

于 2012-09-13T00:16:55.067 に答える