トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     複数のペイントオブジェクトを一つのmovieClip内で描画するときに
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mucho
Åê¹ÆNo.21338
投稿日時: 2005-11-7 18:50
新米
居住地:
投稿: 2
使用環境:
複数のペイントオブジェクトを一つのmovieClip内で描画するときに
初めて投稿(質問)させていただきます。ちょっと緊張しています。。。
よろしくお願いします。
スクリプト内でcreateEmptyMovieClipをして一つのムービクリップを作ります。
そのムービークリップに線だけのオブジェクトと塗り情報を含んだオブジェクトを
同居させると、線だけのオブジェクトまで塗り情報を引きずってしまうのですが、
これは、Flashの仕様(バグ)なのでしょうか?
新規作成したファイルの1フレーム目のフレームスクリプトに

_root.createEmptyMovieClip("abc", 0);

//1本目のカーブ(線だけ)
abc.lineStyle(1, 0xff0000, 100);
abc.moveTo(200, 100);
abc.curveTo(100, 100, 100, 200);

//2本目のカーブ(塗り)
abc.lineStyle(0, 0x00ff00, 100);
abc.beginFill(0x0000ff, 100);
abc.moveTo(200, 300);
abc.curveTo(100, 300, 100, 400);
abc.endFill();


と書くと、1本目のカーブの右に変な塗りが出来てしまいます。。
制作環境はFlash8Pro+MacOSX10.4.3です。
いろいろとウェブ上の書き込みを探したのですが、この現象に対する答えが
見つからなくて、、、質問させていただきました。どなたかおわかりになる方
おられましたらご教授ください。よろしくお願いいたします。
ごんざえもん
Åê¹ÆNo.21340
投稿日時: 2005-11-7 19:48
常連
居住地: 北かんとー
投稿: 123
使用環境:
Windows XP SP3
Windows7
Windows VISTA
MacOSX10.6
FlashMX2004
Flash8 pro
Flash CS6 (体験版…)
Re: 複数のペイントオブジェクトを一つのmovieClip内で描画するときに
1本目の描画後に、

abc.moveTo(undefined,undefined),

を記述したらうまくいきました。。。
undefinedは適当な数値でも可。


環境をアカウント編集で記述しておくと良いですよ


----------------
gonzaemon

OhXCD
Åê¹ÆNo.21342
投稿日時: 2005-11-7 20:46
半人前
居住地: 関東
投稿: 53
使用環境:
WinXP SP2
FlashMX
Re: 複数のペイントオブジェクトを一つのmovieClip内で描画するときに
HELPによると、
引用:
開いたパスがある場合 (現在の描画位置が moveTo メソッドで指定された前の座標と等しくない場合) で、パスに関連する塗りがあるときは、そのパスが線で閉じられた後で塗りが適用されます。この動作は endFill メソッドを呼び出したときと似ています。

となっています。
前のパスがきちんと閉じていないと、
後でbeginFillを指定しただけで塗られちゃうみたいです。
endFillをコメントアウトしてみても動作は同じですからね。

回避方法は、moveToで明示的に現在の描画位置を変更してから、beginFillをセットすれば良いようです。
_root.createEmptyMovieClip("abc", 0);

//1本目のカーブ(線だけ)
abc.lineStyle(1, 0xff0000, 100);
abc.moveTo(200, 100);
abc.curveTo(100, 100, 100, 200);

//2本目のカーブ(塗り)
abc.lineStyle(0, 0x00ff00, 100);
abc.moveTo(200, 300);
abc.beginFill(0x0000ff, 100);
abc.curveTo(100, 300, 100, 400);

この後endFillを入れるかはお好みかな
ま、入れたほうが正解なんでしょうけど。
mucho
Åê¹ÆNo.21346
投稿日時: 2005-11-7 22:50
新米
居住地:
投稿: 2
使用環境:
Re: 複数のペイントオブジェクトを一つのmovieClip内で描画するときに
ありがとうございます!
無事解決しました。
参考本なんかを見ると、beginFillの前にmoveToがあるですが、、、理屈的にしっくりいかないので、勝手に書き直していたのが仇になったようです。。ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops