ホーム > Flash > AS3.0 > as3.0:上下運動

  • Deliciousにブックマーク
  • このエントリをはてなブックマークに登録
  • Yahoo!ブックマークに登録
  • このエントリをlivedoorクリップに登録
  • このエントリをBuzzurlにブックマーク

as3.0:上下運動

  • AS3.0, Flash
  • 2008.8.23 AM.01:08 | 
  • Posted by: mooco |

AS3引き続き勉強中。

[ サンプル ]

[ Source : Sample03_a.as ]
package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField;

	/**
	* 2008.08
	* 線形上下運動
	*/
	public class Sample03_a extends Sprite
	{
		private var ball:Oyaji;
		private var angle:Number = 0;
		private var text:TextField;
		private var speed:Number = 0.1;
		private var centerY:Number = stage.stageHeight;
		private var range:Number = 50;

		public function Sample03_a()
		{
			init();
		}
		private function init():void {
			ball = new Oyaji();
			addChild(ball);

			//centerに
			ball.x = stage.stageWidth / 2;
			addEventListener(Event.ENTER_FRAME, onEnterFrame);

			//text
			text = new TextField;
			stage.addChild(text)
			text.x = 40;
			text.y = 175;
			text.width = 200;
			text.height = 20;
			text.selectable = false;
			text.textColor = 0xffffff;
		}
		public function onEnterFrame(evemt:Event) {
			//Stageの半分の高さ + サインを求めてrangeから-rangeまでの振幅を算出
			ball.y = centerY / 2 + Math.sin(angle) * range;
			angle += speed;
			var bally_num:Number = ball.y;
			text.text = String(bally_num);
		}

	}

}

ball.y = centerY / 2 + Math.sin(angle) * range;
angleのサインを求めてそれにrange(50)をかける
幅はrange(50)から-range(-50)まで
それにStage分の高さ(200)を2で割った分を足す(100)
振幅は 150 から 50 まで

angle += speed;
angleにspeed分を足していき上下運動をさせる(値が高いとspeed up)

ちなみに
ball = new Oyaji();
記事as3.0:表示リスト/親子関係で作った親父グラフィックを分けて親父クラスを作成してみました。

[ Sample : Oyaji.as ]
package
{
	import flash.display.Sprite;

	/**
	* 2008.08.07
	*/
	public class Oyaji extends Sprite
	{

		public function Oyaji() {
			init();
		}
		public function init():void {
			//Oyaji用
			graphics.beginFill(0xffffff);
			graphics.drawCircle(0, 0, 20);
			graphics.endFill();
			graphics.beginFill(0xaa0000);
			graphics.drawCircle(0, 0, 10);
			graphics.endFill();
			graphics.beginFill(0x000000);
			graphics.drawCircle(0, 0, 6);
			graphics.endFill();
			graphics.beginFill(0xffffff);
			graphics.drawCircle(-5, -5, 3);
			graphics.endFill();
		}
	}

}

好きなものを使って勉強すると楽し~。

Article tags: ,

0

Comment Form

Related Posts

as3.0:表示リスト/親子関係
08.08.19 as3.0:表示リスト/親子関係

AS3最近ちょっと勉強中。AS2と比べると大きく違うことはまず書き方だと思うけど、型定義を宣言してStageにaddChildしないと表示されないことかな。
でも型定義・宣言してるからどこか記述ミスし…

as3.0:線形上下運動
08.08.30 as3.0:線形上下運動

前記事as3.0:上下運動に動きを追加。[ サンプル ]…

AS3.0:Bitmap描画サンプル
08.09.09 AS3.0:Bitmap描画サンプル

Bitmap/BitmapDataを使ったスプレーペイント描画サンプルカラーはランダムで変更…

AS3.0:GrowTree
09.10.16 AS3.0:GrowTree

AS2.0の本ですごく勉強になったオライリー社発行の「Flash Hacks――プロが教えるテクニック & ツール100選」…

AS3.0:XMLの読み込み
08.11.20 AS3.0:XMLの読み込み

as3.0でXML読み込みしてみました。as2.0に比べると格段に便利~。ステキです。as2.0のXMLオブジェクトは「XMLNode」として別扱いであるそう。…

About

mooco
[mooco]

東京を中心にWebデザイナーとして活動しています。

趣味は愛猫と遊ぶこと。 web周りのあれこれで遊ぶことです。

Search

Categories