NSMenu&表示非表示{Mac Xcode} [Macでゲームをつくろう!]
前回での本当に言いたかった部分は「visible」の使い方だったのですが 脱線(?)してました。
visible of 〜 は表示/非表示の設定をするものですが、いろいろなところで使い方を見ると、必ずと言ってよいほど フラグ(状態の判定)を別に記憶してからそのフラグに対して 表示や非表示の切り替えをしているんですよね。
property visible_flg : false
on windowObj()
if visible_flg is true then
set visible of window "main" to false
set visible_flg to false
else
set visible of window "main" to true
set visible_flg to true
end if
end windowObj
(ちょっと、わざとらしいほど回りくどく書きましたが)
今の状態を記憶して他に使う事が無いのだったら、propertyすら使わない次のような1行で出来るんではないですかね?
set visible of window "main" to not (visible of window "main")
直接、visible of 〜 の状態を呼び出し not で反対の意味にして書き込んでしまうんですが、
現在の状態をリアルタイムで呼び出すのですから 間違いは無いですよね?
これは、例えばアバウトウインドウを呼び出して閉じるという部分で使えると思います。
メニューから呼び出して、メニューで閉じる他に イレギュラーなクローズボックスをクリックして閉じても もう一度メニューから呼び出せばちゃんと開いてくれますしね。
メニューからのやり方をちょちょいっと・・・
visible of 〜 は表示/非表示の設定をするものですが、いろいろなところで使い方を見ると、必ずと言ってよいほど フラグ(状態の判定)を別に記憶してからそのフラグに対して 表示や非表示の切り替えをしているんですよね。
property visible_flg : false
on windowObj()
if visible_flg is true then
set visible of window "main" to false
set visible_flg to false
else
set visible of window "main" to true
set visible_flg to true
end if
end windowObj
(ちょっと、わざとらしいほど回りくどく書きましたが)
今の状態を記憶して他に使う事が無いのだったら、propertyすら使わない次のような1行で出来るんではないですかね?
set visible of window "main" to not (visible of window "main")
直接、visible of 〜 の状態を呼び出し not で反対の意味にして書き込んでしまうんですが、
現在の状態をリアルタイムで呼び出すのですから 間違いは無いですよね?
これは、例えばアバウトウインドウを呼び出して閉じるという部分で使えると思います。
メニューから呼び出して、メニューで閉じる他に イレギュラーなクローズボックスをクリックして閉じても もう一度メニューから呼び出せばちゃんと開いてくれますしね。
メニューからのやり方をちょちょいっと・・・
コメント 0