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

なでしこ の 掲示板

トップ 新規 検索

2019-06-05 21:32:17

Re②:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる

ゲイン さん


■話題項目
 ・イメージ1
 ・内容展開~ 
   イメージ1の0,0を赤色で$10101まで塗る
 ・作る~
   イメージ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がイメージとして
作成されます。

イメージ1の各要素に値を代入する場合、「テストのイメージ1→X=50」の様にします。
「テスト」と言うグループの中のイメージ1と言う変数が持つXと言う要素に50を代入するって
ことですね。

話題項目がもつメソッド「内容展開」ですが、引数にグループ名を指定して…と言う形に
なっていましたが、そもそも自身の持つイメージ1に色を塗りたいだけなら上記のプログラムの
様な感じでいいはずです。これをコールする場合は、「テストの内容展開」とすればメソッドが
コールされます。

元のプログラムですと、イメージ1を話題項目の中で宣言してただけで、これをインスタンス化
(変数を話題項目型として宣言すること)してなかったのと、「テストのイメージ1」とせずに
「イメージ1」の要素に直接値を代入しようとしてたのでエラーになったのではないでしょうか。

返答していただきありがとうございます!

他の回答とも参照してみてやっぱりグループの外で何かしらの処理をしないといけなさそうです。😞
できればグループ内だけで完結したいんですが(複数のインスタンスを作って操作するので一つ一つに設定するのは大変)難しそうですね…

UNOパパ さん
 ありがとうございました。またお願いします!😄

(編集パスワード送信)

子記事

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

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

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

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





www.eznavi.net