2016-05-25 11 views
1

私のプログラムにはうまくいけば簡単に問題を解決することができます。私のプログラムは99%働いていますが(まだそれを打ち破ろうとしていません)、私は複数のプラットフォームなどにスケーリングするためのフォーマットに取り組んでいます。私のプログラムでは、位置付けが難しい小さな部分があります個別に常に表示されない複数のオブジェクト。私は何をしたいのかのためにいくつかの擬似コードを書いていましたが、私は擬似コードを実現するのに役立つ多くの構文を見つけることができませんでした。この後グループをどのように変更しますか?

FOR each object 
    IF object required then 
     Add object to group 
    ELSE 
     Hide object 
    END IF 
END FOR 
CENTER group 

は、私は私のプログラムのために完成最小実行可能な製品を持っている必要があり、そのヘルプははるかに高く評価されています(私の擬似コードは、おそらく正式に修正されていないため、謝罪を)次のように疑似コードです。乾杯!

答えて

0

オブジェクトを表示するにはshowコマンドを使用し、オブジェクトを非表示にするにはhideコマンドを使用します。スクリプトがグループ内にある場合は、グループを参照することを忘れないでください:control x of group yまたはcontrol x of me

例:

show field 1 of group "Purple" 
hide button "Click Me" of me 
0

はここにあなたの擬似コードのコードの一部です。 (私はあなたが何をしようとしてのニュアンスをキャプチャしていてくださいます。)

repeat with x = 1 to the number of buttons in group "foo" 
    put the long id of button x of group "foo" into tBtn 
    if tObjectIsNeeded then 
     show tBtn 
    else 
     hide tBtn 
    end if 
end repeat 
# this centers the group horizontally and vertically 
set the loc of group "foo" to the loc of this card 

をあなたはcopyコマンドを使用してグループにオブジェクトを追加することができます。

copy button "bar" into group "foo" 

あなたが使用することができますあなただけの、水平方向のグループを揃えるそのlocationプロパティを変更したい場合は

delete button "bar" from group "foo" 

:カードからコントロールを削除するdeleteコマンド。 locationプロパティは、コンマで区切られた2つの整数のリストです。最初の値はカードの左端からのピクセル数で、2番目の整数はカードの上からのピクセル数です。それは次のようになります。

​​
+0

私はオブジェクトが必要とされていない場合、私は、オブジェクトがされていないことを確認したいことを言及するのを忘れてしまいましたグループ。グループから何かを削除する構文はありますか?また、縦軸に沿ってグループを集中させたいのですが、横軸は同じまま、または少なくとも他の要素のスケールに比例します。 – notHalfBad

0

グループの長方形それが含まれているコントロールとは異なるサイズにすることができますので、私は私がちょうど収まるようにグループ自体のサイズを変更したい、コントロールを追加または削除気にしないだろう目に見えるもの。次に、必要に応じてグループの中心を合わせるだけです。

開発中のハングマンゲームの一部であれば、最初に表示されるフィールドの左側がグループの左端になり、最後に表示されるフィールドの右側がグループの右側になります。上部と下部は同じままです。

「lastfield」「firstfield」の正しいフィールド名を使用して、これを試してみて:

put the rect of grp "foo" into tRect 
    put the left of field "firstfield" into item 1 of tRect 
    put the right of field "lastField" into item 3 of tRect 
    set the rect of grp "foo" to tRect -- resizes group to fit visible controls 
    -- now center the group along the horizontal axis: 
    set the loc of grp "foo" to (item 1 of the loc of this cd),item 2 of the loc of grp "foo" 
関連する問題