日本語プログラミング言語なでしこの公式掲示板

なでしこ の 掲示板

トップ 最新 新規 検索 公式

2019-06-15 11:49:17 -土 曜-

693 : 補足です。Re:みんなさん、ありがとうございます - 雪乃☆雫 さん


 ゴメン、書き忘れてたので補足です。
 「自身」とゆう変数は、当初は話題項目グループのことなんだけど、GUIのイベントで呼ばれた関数の中では、呼出し元のGUI(この場合はイメージ1)に変わっちゃうんだよね。(一番最初のコードでエラーが出てたのもタブンそのせいで、イメージ1の中にイメージ1ってメンバは無いよー的なことなんじゃないかと思うんだけど、詳しくないからよく分からん;)
 なので、内容展開の中では、「自身」に対して操作することで、イメージ1を塗ったりとか出来るんだけど、もしかしてもしかしたら、イメージ1のイベントで呼んだ関数の中で、別なGUIに対しても操作を行いたいってコトがあるかもしんないよね。
 開くフラグ に対して行ってたのと同様、「私→イメージ1の0,0を赤色で$10101まで塗る」みたいな感じで行けます。
 各GUIのタグに、元の話題項目グループを「グループ参照コピー」して覚えさせておいて、ソレの中のイメージ1なり、他のGUIや変数に対して操作を行うよって形にするってことです。
 とゆうわけで、別に「私」って変数を使い回さなくても、ある種「自身→タグ→開くフラグ」で行けるんだけどもさー、「私」が大本の話題項目グループのことだよって決めて明示した方が、プログラムが見やすくないです?
 

(編集パスワード送信)

子記事

親記事 (No.676)
返信した記事(元) (No.692)

この内容(No.693)に返信

この内容(No.693)をダウンロード

この内容(No.693)のテキスト表示


2019-06-17 00:08:44 -月 曜-

692 : みんなさん、ありがとうございます - ゲイン さん


 しゅごい!みんな天才すぎる!!
 て、なでしこのバグだったんですか・・・?Σ(゜д゜;
 こうゆうものだとばかり思って、ずっと生きてきた;;;

 ところで、グループ参照コピーですっきりさせるなら、グループは一つにまとめられると思う。
 この案は当初からあったんだけど、どうしてもどうしても片っぽしか動かせなくて、断念してたんです!
#-----------------------------------------------
■話題項目
 ・{配列}イメージ0
 ・イメージ1
 ・{=1}開くフラグ
 ・内容展開~
   自身→タグを私にグループ参照コピー
   自身の0,0を赤色で$10101まで塗る
   もし、私→開くフラグ=0ならば
    自身の5,-5へ"+"を文字表示
    私→開くフラグは1。
   違うならば
    自身の5,-5へ"-"を文字表示
    私→開くフラグは0
 ・作る~
   私に自身をグループ参照コピー。
   イメージ0[0]をイメージとして作成。
   イメージ1にイメージ0[0]をグループ参照コピー。
   イメージ1→タグに私をグループ参照コピー。。
#----
   イメージ1→X=0
   イメージ1→Y=0
   イメージ1→W=500
   イメージ1→H=50
   イメージ1→クリックした時は~
     内容展開。
   文字サイズは50
   線色は$10101; 線太さは1
   イメージ1の50,0から50,50へ線
   イメージ1の0,0を赤色で塗る
   イメージ1の60,30を$F5D2D2で塗る
   イメージ1の5,-5へ"+"を文字表示

テスト1とは話題項目
テスト2とは話題項目
テスト2→イメージ1→Yは60 
#-----------------------------------------------
 一応、うまくいってると思うんだけど・・・
 みなさん、返事が遅れてしまい申し訳ございませんでしたm(_ _)m
 なるほど、MyImageのインスタンスが「イメージ1部品」という同じ変数名の下で作られていたために
イベントの動作がおかしくなっていたんですね!

 そしてグループが一つにまとまって良かったです。(「私」という使いまわされる変数が必要ですが)
一応のために配列バージョンも書いている状態だったので汗 しかし、グループを使わせていただこうかと思います。

 最後に一つ思ったのは、なでしこをもう少し書きやすく、初見殺しがないようにしてもらえたら嬉しいですね(笑)


(編集パスワード送信)

子記事

親記事 (No.676)
返信した記事(元) (No.691)

この内容(No.692)に返信

この内容(No.692)をダウンロード

この内容(No.692)のテキスト表示


2019-06-11 07:41:32 -火 曜-

691 : Re:Re:Re:ごめんなさい、やっぱり駄目でした - 雪乃☆雫 さん


 しゅごい!みんな天才すぎる!!
 て、なでしこのバグだったんですか・・・?Σ(゜д゜;
 こうゆうものだとばかり思って、ずっと生きてきた;;;

 ところで、グループ参照コピーですっきりさせるなら、グループは一つにまとめられると思う。
 この案は当初からあったんだけど、どうしてもどうしても片っぽしか動かせなくて、断念してたんです!
#-----------------------------------------------
■話題項目
 ・{配列}イメージ0
 ・イメージ1
 ・{=1}開くフラグ
 ・内容展開~
   自身→タグを私にグループ参照コピー
   自身の0,0を赤色で$10101まで塗る
   もし、私→開くフラグ=0ならば
    自身の5,-5へ"+"を文字表示
    私→開くフラグは1。
   違うならば
    自身の5,-5へ"-"を文字表示
    私→開くフラグは0
 ・作る~
   私に自身をグループ参照コピー。
   イメージ0[0]をイメージとして作成。
   イメージ1にイメージ0[0]をグループ参照コピー。
   イメージ1→タグに私をグループ参照コピー。。
#----
   イメージ1→X=0
   イメージ1→Y=0
   イメージ1→W=500
   イメージ1→H=50
   イメージ1→クリックした時は~
     内容展開。
   文字サイズは50
   線色は$10101; 線太さは1
   イメージ1の50,0から50,50へ線
   イメージ1の0,0を赤色で塗る
   イメージ1の60,30を$F5D2D2で塗る
   イメージ1の5,-5へ"+"を文字表示

テスト1とは話題項目
テスト2とは話題項目
テスト2→イメージ1→Yは60 
#-----------------------------------------------
 一応、うまくいってると思うんだけど・・・

(編集パスワード送信)

子記事

親記事 (No.676)
返信した記事(元) (No.690)

この内容(No.691)に返信

この内容(No.691)をダウンロード

この内容(No.691)のテキスト表示


2019-06-10 20:15:34 -月 曜-

690 : Re:Re:ごめんなさい、やっぱり駄目でした - TKI さん


「イメージ1をMyImageとして作成」を2回実行すると名前がかぶってなでしこの想定外の動作になるんですかね。

「イメージ1[0]をMyImageとして作成」だと大丈夫っぽいです。
配列にすると名前が_AUTO1924とかになるためでしょうか。

#ここから 
■MyImage +イメージ
 ・{=1}開くフラグ
 ・内容展開~
   自身の0,0を赤色で$10101まで塗る
   もし、開くフラグが0と等しいならば
    自身の5,-5へ"+"を文字表示
    開くフラグは1
   違うならば
    自身の5,-5へ"-"を文字表示
    開くフラグは0
 ・クリックした時は~
   内容展開

■話題項目
 ・イメージ1
 ・作る~
   イメージ1[0]をMyImageとして作成
   イメージ1[0]→X=0
   イメージ1[0]→Y=0
   イメージ1[0]→W=500
   イメージ1[0]→H=50
   
   文字サイズは50
   線色は$10101; 線太さは1
   イメージ1[0]の50,0から50,50へ線
   イメージ1[0]の0,0を赤色で塗る
   イメージ1[0]の60,30を$F5D2D2で塗る
   イメージ1[0]の5,-5へ"+"を文字表示

テスト1とは話題項目
テスト2とは話題項目
テスト2→イメージ1[0]→Yは60
#ここまで


配列の[0]の部分が気になるなら、グループ参照コピーするとすっきり?

#ここから 
■MyImage +イメージ
 ・{=1}開くフラグ
 ・クリックした時は~
   X=X+10
   
■話題項目
 ・{配列}イメージ1b  //←部品いれ
 ・イメージ1
 ・作る~
   イメージ1b[0]をMyImageとして作成 //←
   イメージ1b[0]をイメージ1にグループ参照コピー //←
   イメージ1→Hは40
   イメージ1を赤色で画面クリア

テスト1とは話題項目
テスト2とは話題項目
テスト2→イメージ1→Yは60
#ここまで

(編集パスワード送信)

子記事

親記事 (No.676)
返信した記事(元) (No.689)

この内容(No.690)に返信

この内容(No.690)をダウンロード

この内容(No.690)のテキスト表示


2019-06-10 16:30:23 -月 曜-

689 : Re:ごめんなさい、やっぱり駄目でした - UNOパパ さん


これはなでしこのバグの様な気もするんですけど

#---ここから---
■MyImage +イメージ
 ・内容展開~
  自身の0,0を赤色で$10101まで塗る
 ・クリックした時は~
  内容展開

■話題項目
 ・イメージ1
 ・作る~
   イメージ1をMyImageとして作成

テスト1とは話題項目
テスト2とは話題項目
テスト2→イメージ1→Y = 60
#---ここまで---

とした場合、テスト1とテスト2のインスタンスの中にそれぞれ「イメージ1」が作られてはいるん
ですが、イベントのハンドリングが最初に作った「イメージ1」だけになってしまって、テスト2の
中のハンドラは無効になってる気がしますね。なので質問で載せてもらったプログラムのテスト2
の「+」をクリックするとテスト1の方が「-」になっちゃう。(XとかYとか位置情報に関しては
テスト1、テスト2のそれぞれのMyImageインスタンについて独立したものになってるのに、
イベントハンドラは一緒になってる)。

それぞれのインスタン内の「イメージ1」と言う名前が違えばうまく行く様なので、あまりキレイな
対処方法ではないですが

#---ここから---
■MyImage +イメージ 
 ・{=1}開くフラグ
 ・内容展開~ 
   自身の0,0を赤色で$10101まで塗る 
   もし、開くフラグが0と等しいならば
    自身の5,-5へ"+"を文字表示 
    開くフラグは1
   違うならば
    自身の5,-5へ"-"を文字表示 
    開くフラグは0
 ・クリックした時は~ 
   内容展開 

■話題項目
 ・作る~ 
   イメージ1[n]をMyImageとして作成
   イメージ1[n]→X=0 
   イメージ1[n]→Y=0 
   イメージ1[n]→W=500 
   イメージ1[n]→H=50 

   文字サイズは50 
   線色は$10101; 線太さは1 
   イメージ1[n]の50,0から50,50へ線 
   イメージ1[n]の0,0を赤色で塗る 
   イメージ1[n]の60,30を$F5D2D2で塗る 
   イメージ1[n]の5,-5へ"+"を文字表示 
   
   n = n + 1

n = 0 #これをグループの外部に宣言

テスト1とは話題項目 
テスト2とは話題項目
イメージ1[1]→Y=60
#---ここまで---

としては駄目でしょうか。一応、想定どおりの動きにはなります。ただし、最後の
「テスト1[1]→Y=60」部分を見てもらったら分かる通り、グループ内で作成している
「イメージ1[n]」はそのスコープがグローバルになります(グループ内で作成している
だけで、グループの外で宣言してるのと一緒)。

しかしなんでイベントハンドラだけインスタンス化されないんだろう…

(編集パスワード送信)

子記事

親記事 (No.676)
返信した記事(元) (No.687)

この内容(No.689)に返信

この内容(No.689)をダウンロード

この内容(No.689)のテキスト表示


戻る < < < > > > 次へ




www.eznavi.net