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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     円の方程式を利用して円を描画する方法
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
keiko1987
Åê¹ÆNo.35757
投稿日時: 2007-10-19 21:45
新米
居住地:
投稿: 3
使用環境:
円の方程式を利用して円を描画する方法
質問させていただきます flash cs3 proを利用し、action script3.0を独学をしています

円の方程式を利用し、Graphics.lineTo()を使い円を描画しようと
考え以下のコードを書きました(汚いコードですみません(汗)

package {

	import flash.display.*;
	import flash.events.Event;

	public class DrawTest {
		var canvas:Sprite;
		var tmpmc:MovieClip;
		var tmpno:Number=0;
		var oldtx:Number;
		var oldty:Number;
		var color:uint=0x666666;

		//
		public function DrawTest(targetmc:MovieClip) {
			tmpmc=targetmc;
			tmpmc.addEventListener(Event.ENTER_FRAME,enterFrameCaller);
		}
		public function enterFrameCaller(event:Event) {
			tmpno++;
			tx=tmpno;
			var tx:Number;
			var ty:Number;
			var r:Number=50;
			
			ty=(Math.sqrt(Math.abs(r*r)-((tx-50)*(tx-50))));

			canvas=new Sprite();
			//
			var alpha:Number=1.0;
			var thickness:uint=1;
			//
			var container:DisplayObjectContainer=tmpmc.root as DisplayObjectContainer;
			canvas.graphics.lineStyle(thickness,color,alpha);
			if (isNaN(oldtx)) {
				canvas.graphics.moveTo(tx,ty);
			} else {
				canvas.graphics.moveTo(oldtx,oldty);
			}
			canvas.graphics.lineTo(tx,ty);
			container.addChild(canvas);
			oldtx=tx;
			oldty=ty;

			if (tmpno>300) {
				tmpmc.removeEventListener(Event.ENTER_FRAME,enterFrameCaller);
			}
		}
	}
}


円の方程式

(x-h)^2+(y-k)^2=r^2から
ty=(Math.sqrt(Math.abs(r*r)-((tx-50)*(tx-50))))
という式を書いたのですが、
半円を描画した時点でどうもおかしな事になってしまいます

どなたか原因がおわかりになられる方、ご教授いただけたらと
思います

よろしくお願いします
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » 円の方程式を利用して円を描画する方法 keiko1987 2007-10-19 21:45
     Re: 円の方程式を利用して円を描画する方法 Fumio 2007-10-19 22:35
       Re: 円の方程式を利用して円を描画する方法 knagai 2007-10-21 14:21

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