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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     楕円軌道時の中心からの直線を描く方法
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
joyko
Åê¹ÆNo.41465
投稿日時: 2009-2-12 1:07
常連
居住地: 埼玉県
投稿: 167
使用環境:
WinXP(SP3)
Flash8 Basic
FlashCS3
Flash CS4
楕円軌道時の中心からの直線を描く方法
AS2.0です。
MovieClipに対して、三角関数を使った楕円軌道を描かせることは、定番の方法で出来るのですが、中心点からの半径(に相当する)の直線を、MovieClipの動きに合わせて、一本だけ表示したいと思い、以下のscriptを記載しました。
しかしながら、5度単位で、何本もの直線が中心点から描かれます。
前に描かれた直線を削除してないので、当然と言えば、当然なのですが、どうも、方法を思いつきません。

/*maru_mcをシーンに配置し、以下は、
第一フレームに記載してます。*/
var mc:MovieClip = this.createEmptyMovieClip("mc", 0);
var degree:Number = 0;
var r:Number = 150;//半径
centerX = Stage.width/2;//X軸中央
centerY = Stage.height/2;//Y軸中央
mc.lineStyle(1,0xFF6600);
maru_mc.onEnterFrame = function():Void  {//ステージに配置した、丸型のMovieClipで、インスタンス名は、maru_mc
	degree += 5;
	radian = Math.PI/180*degree;
	this._x = centerX+r*Math.cos(radian)/2.5;//X軸方向に偏平させる
	//trace(this._x);
	this._y = centerY+r*Math.sin(radian);
	this._xscale = this._yscale=this._alpha=this._x/2.5;
	mc.moveTo(centerX,centerY);//ステージの中央から、
	mc.lineTo(this._x,this._y);/*maru_mcのX座標、
Y座標まで、直線を描くが、5度刻みで、描かれ、全部、残ってしまうので、常に、maru_mcの動きに合わせて、一本だけにしたいのですが・・・*/
};

以上、基本的なミスを犯してると思いますが、どなたか、ご教授頂けると助かります。
SeeDa!!
Åê¹ÆNo.41466
投稿日時: 2009-2-12 1:33
職人
居住地: Nagoya
投稿: 221
使用環境:
WinXP
Flash CS4
au:W33SA?
Re: 楕円軌道時の中心からの直線を描く方法
線を引くmcを毎回更新すれば大丈夫です。
引用:

joykoさんは書きました:
前に描かれた直線を削除してないので、当然と言えば、当然なのですが、どうも、方法を思いつきません。

//maru_mcをシーンに配置し、以下は、第一フレームに記載してます。
var mc:MovieClip = this.createEmptyMovieClip("mc", 0);
var degree:Number = 0;
var r:Number = 150;//半径
centerX = Stage.width/2;//X軸中央
centerY = Stage.height/2;//Y軸中央
mc.lineStyle(1,0xFF6600);
maru_mc.onEnterFrame = function():Void  {//ステージに配置した、丸型のMovieClipで、インスタンス名は、maru_mc
	degree += 5;
	radian = Math.PI/180*degree;
	this._x = centerX+r*Math.cos(radian)/2.5;//X軸方向に偏平させる
	//trace(this._x);
	this._y = centerY+r*Math.sin(radian);
	this._xscale = this._yscale=this._alpha=this._x/2.5;
	var mc:MovieClip = this._parent.createEmptyMovieClip("mc", 0);
	mc.lineStyle(1,0xFF6600);
	mc.moveTo(centerX,centerY);//ステージの中央から、
	mc.lineTo(this._x,this._y);//maru_mcのX座標、Y座標まで、直線を描くが、5度刻みで、描かれ、全部、残ってしまうので、常に、一本だけにしたいのですが・・・
};


以上、基本的なミスを犯してると思いますが、どなたか、ご教授頂けると助かります。


贅沢言うと、線と●の深度を調節したいのは考えすぎかな?
joyko
Åê¹ÆNo.41467
投稿日時: 2009-2-12 1:48
常連
居住地: 埼玉県
投稿: 167
使用環境:
WinXP(SP3)
Flash8 Basic
FlashCS3
Flash CS4
Re: 楕円軌道時の中心からの直線を描く方法
SeeDa!!さん、
お早い、ご教授ありがとうございました!
そうですよね、毎回、更新すればそうなりますね。
ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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