vieweditattachhistoryswikistopchangessearchhelp

Curve モルフを使う

Curve モルフの動作を理解するのには、その親戚である Polygon モルフの挙動を知るのが早道です。Polygon モルフは、Curve モルフの隣(Supplies フラップ)にあります。取り出したときは中が色塗られた三角形です。shift クリックでハンドラ(黄色い丸と緑の四角)を呼び出すことができ、丸をドラッグすると曲がり角の位置を、緑の三角をクリック&ドラッグすると曲がり角の数を増やしてその位置を移動することができます。曲がり角を減らすには、近接する丸にドラッグしている曲がり角を示す丸を重ねます。とりあえず、すでにご存じのこととは思いますが、ここまで試してみてください。--sumim - 2002-04-15, 10:03:52

Uploaded Image: polygon.gif


もしよければ、この「Morphic で絵を描きたい」を続けてもらえますか。
keep で複数の部分の絵を保存(グループ化)したとき、一部の絵だけ toss する方法は存在しますか? また、できたいくつかの部品をグループ化して keep したいのですが可能でしょうか? --heididorf - 2002-04-15, 14:07:16

Uploaded Image: polypaint.gif


ここまでお相手いただき恐縮しています。
自分の頭には、ドロー系ソフトの操作イメージがあります。-- だからうまくいかない !!
Morphi Catalog の curve を まず、画面に起きます。この図を shift を押しながらクリックすると、基本は黄丸と緑三角が3個ずつ存在します(ハンドラーというんですね) この、ハンドラーを動かして、作りたい形を作っていくわけですね。絵心があれば、筆を使って描くんでしょうが、それより自分は、ハンドラーを動かして描けたらうれしいです。
で、Morphi は、動かしていくと、適当にハンドラーが増えていきますよね、自分のイメージでは、このハンドラーを、消すことで形が変わることを期待しています。--ここが間違いではないでしょうか??
いくつかの、部品をつくって最後に、適当に画面に配置して最後は、グループ化して完成できたらいいなと考えています。

この curve は、ドローソフトの、なめらかな頂点と、角っとした頂点といった分類で、丸、三角があるんじゃなくて、順番に丸 四角 丸 四角.. とあるので、根本的に違うんですよね。

とりあえず、教えていただいたペイントで絵は描いてみました。
頭だけ描いて、この頭を左右に降る script に挑戦中です。 --heididorf - 2002-04-15, 18:28:52

Uploaded Image: polydog.gif


Uploaded Image: curvedog.gif


テレビでみていた、アメリカの子供は、簡単にアニメ動かしていましたががなぜそんなに上手に動かせるの、、、アラン先生が教えか上手なの ^^ (^^#)

頭を動かすには、ぐるぐる1周する頭はないので(そんなの可愛そう、、)
とりあえず、絵の上でマウスをクリックしたら(mouse down) 今自分がどっちの方向にふってるのかの変数を用意して、右のある方向にきたら、方向変数を変更して、左にふるように、左のある方向にきたらまた逆向きにしたらいいわけですが、この変数の設定は、script を手うちしないとだめですよね。Smalltalkがわかんないので、さてどうしたもんか。
これができたら、足と手ですね、、--heididorf - 2002-04-15, 19:40:39
まだお聞きしていいですか?
embed into --> world しかないのでグループ(サブモルフ)化できないのです。
kao , front-lef1 , front-leg2 , back-leg1 , back-leg2 , body という部品をつくりました。
すべて embed into --> world しかありません。kao はうまくいっていたのですが。--heididorf - 2002-04-15, 22:51:38
ありがとうございます。ためしてみました。
ポイントは、「中央に配置し」、「親の上に子どもを配置する」ということのようですが、難しいですね。うまくいかないことがあります。
なぜでしょうか、子が親より大きいのでとりあえず小さくして配置してみたのですが やはり world しかでません。部品によってはうまくいく時もあります。こんなに難しいものなのでしょうか。
次になんとか、グループ化しても、子供の部品だけの移動をさせたいとおもって、子供の部品上で、右ボタンクリックをしますが、親のメニューが周辺に現れるだけです。ん。。。こんなものなんでしょうか。
やはりこの場合の対応方法は、透明な大きめな四角い部品を用意してそれを親とするのが簡単でしょうか。この辺のテクニックをご教示いただけますか。 やっぱアメリカ人の子供はかしこいのか。。^^;; --heididorf - 2002-04-16, 09:31:13
つかってる Squeakは 3.2 gamma 4811 日本語版です。
わかったことは、右ボタン、マウスクリックで 部品の回りにメニューが出てきて、下に出る名前が、赤ボタンのメニューを開いたときの、水色のラベルの名前と一致しないときは NG でした。また、コピーして、自動で **2 という感じで番号つきの名前が自動でついたときもうまくないようでした。うまくいかないときは、部品をつくって名前を書いて、赤ボタンを押して水色のラベルに名前が正しいか確認したらいいみたいです。
とりあえず犬は書けました。-- heididorf - 2002-04-16, 18:41:57
絵は up しました。body.gif です。絵はうまくありませんので。頭、胴体、足4本、尻尾の7点です。
Uploaded Image: body.gif

world というのがおかしいということでしょうか??
何をしたのか最初から書いた方がよろしいでしょうか。 -- heididorf --- - 2002-04-16, 20:37:35
Uploaded Image: embedinto-body.gif

Uploaded Image: embedinto-world.gif

Uploaded Image: embedAbee.gif

頭も足も尻尾も動かしたいです。ついでに、画面を動き回るのもいいかもしれません。
タイルスクリプトのいいテキストはありますか?(このレッスンではダメでしたか?(^_^;) --sumim)
とりあえず SQUEAK : A Quick Trip to ObjectLand は注文しました。
awk とか、シェルとか、basic 大昔に c とアセンブラーはいじったことあるのですが、Smalltalk はいじったことがありません。 --heididorf - 2002-04-16, 21:15:53
Uploaded Image: dogandball.gif

すばらしいです。これです、こんなことがしたいのです。
頑張って理解したいと思います。
>今現在、ここが世界で一番詳しくて、素早いサポートが受けられる場所だろうと言うことです
sumim さん abee さんありがとうございます。今後ともよろしくお願いします。--heididorf - 2002-04-17, 11:00:12
>(このレッスンではダメでしたか?(^_^;) --sumim)
いえいえ、そんなことありません。ほかのページもよんで、楽しま(勉強)させていただきます。質問もさせてください。よろしくお願いします。 - 2002-04-17, 14:48:58
しっぽが動くスクリプト (shippo.gif) を書いてみました。このあと、Squeak が フリーズしたので、再起動後同じように書いてみたのですが、式 tail turn by 1 のあとに tail's direction をおくことができません。どうしてでしょうか? --heididorf - 2002-04-18, 03:11:36
Uploaded Image: shippo.gif

Morphic では、おかしいとおもったら一度作り直すといいみたいです。add a new instance variable で direction を作り直したら、うまくいきました。
turn by の値で速さ、 direction の値で方向 (+1 または -1) を掛け算しています。動きは、メトロームです。-- heididorf - 2002-04-18, 09:18:51

Uploaded Image: Makeatilesrepresentingthisobject.gif


快調です ^^ 頭もしっぽと同じなので、スクリプトをコピーして(緑のボタンですね)、kao の 空の script を用意し、必要なラベルのところを、マウスで移動し、kao のところでオレンジのボタンをおして(Make a tile representing this object) kao のラベルをつくってそれを、script の、tail にはっていってうまくいきました。この方法はいかがでしょうか? -- heididorf - 2002-04-18, 10:07:50

Uploaded Image: duplicate.gif


script は書けました。画面上にスクリプタがたくさんあります。じゃまなのでまとめてかくしておけますか? --heididorf - 2002-04-18, 15:34:24
おかげで、絵が動くようになりました。dog.001.pr でup してみました。
よろしければ、みてみてください。ただ、同じようなスクリプトばかりでこの辺をうまくまとめる方法がないのか知りたいところです。 --heidiodrf - 2002-04-18, 16:06:53
dog.pr
必要なら、新しいページの作成をお願い致します。

頭、しっぽ、足をうごかしてる script は、
Kao
self turn: 1 self getDirection.
	self getHeading > 3 "" false
		iftrue: [ self setDirection: -1]
		ifFalse: [ self getHeading < -3 "" false
					ifTrue: [self setDirection: 1]]
です。 self はobject で自分自身、turn がメソッドでないかとおもいます。
この turn を拡張して、回転時に min max を指定して回転をくびふりにしたらどうでしょうか?
まず、turn がどのクラスのメソッドが知りたいのですが。何をつかったらいいのでしょうか? world --> open --> System Browther で可能ですか。 --- heididorf --- - 2002-04-25, 12:47:54



複数の絵を切り換えて、アニメーションを作る

このページを編集 (21391 bytes)


Congratulations! 以下の 2 ページから参照されています。

This page has been visited 5496 times.