Hatena::Groupactionscript

ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記

2009年08月07日 金曜日

Phase01(ActionScript 3.0による数学・物理学表現[入門編]から)

| 12:11 | Phase01(ActionScript 3.0による数学・物理学表現[入門編]から) - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 を含むブックマーク はてなブックマーク - Phase01(ActionScript 3.0による数学・物理学表現[入門編]から) - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 Phase01(ActionScript 3.0による数学・物理学表現[入門編]から) - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 のブックマークコメント

phase01.xml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:comp="*" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<comp:Phase01>
	</comp:Phase01>
</mx:Application>

Phase01.as

package
{
	import flash.events.MouseEvent;
	import flash.events.TimerEvent;
	import flash.geom.Point;
	import flash.utils.Timer;
	import models.Circle;
	import mx.core.UIComponent;

	public class Phase01 extends UIComponent{
		public var obj:Array;
		public var timer:Timer;
		public var rollovered:Boolean;

		public function Phase01():void{
			obj = new Array();
			for(var i:Number=0; i<10; i++){
				obj.push(new Circle());
			}

			for(var j:Number=0; j<obj.length; j++){
				obj[j].create();
				obj[j].x = 100;
				obj[j].y = 100;
				//obj[j].addEventListener(MouseEvent.MOUSE_OVER, onOver);
				//obj[j].addEventListener(MouseEvent.MOUSE_OUT, onOverOut);
				addChild(obj[j]);
			}

			var s:Circle = new Circle();
			s.create();
			s.x = 100;
			s.y = 100;
			s.addEventListener(MouseEvent.MOUSE_OVER, onOver);
			s.addEventListener(MouseEvent.MOUSE_OUT, onOverOut);
			addChild(s);

			timer = new Timer(33);
			timer.addEventListener(TimerEvent.TIMER, loop);
			timer.start();
		}

		public function onOver(event:MouseEvent):void{
			rollovered = true;
		}

		public function onOverOut(event:MouseEvent):void{
			rollovered = false;
		}

		public function loop(event:TimerEvent):void{
			for(var i:Number=0;i<obj.length;i++){
				var koko:Point = new Point();
				if(rollovered){
					if(i == 0){
						koko.x = 100 + 80;
						koko.y = 100;
					}else{
						koko.x = obj[i-1].x + 80;
						koko.y = obj[i-1].y;
					}
				}else{
					if(i == 0){
						koko.x = this.stage.stageWidth + 140;
						koko.y = this.stage.stageHeight/2  -140;
					}else{
						koko.x = obj[i-1].x;
						koko.y = obj[i-1].y;
					}
				}
				
				obj[i].x += (koko.x - obj[i].x)/8;
				obj[i].y += (koko.y - obj[i].y)/8;
			}
		}
	}
}

models/Circle.as

package models
{
	import flash.display.Sprite;

	public class Circle extends Sprite{
		public var s:Sprite = new Sprite();
		
		public function Circle():void {
		}

		public function create():void {
			s.graphics.lineStyle(1,0xff0000);
			s.graphics.beginFill(0xffffff);
			s.graphics.drawCircle(0, 0, 50);
			s.graphics.endFill();
			addChild(s);
		}

	}
}

AkoAko2013/03/15 16:48That's a cunning answer to a challeingng question

baksyfowxdmbaksyfowxdm2013/03/18 21:14yEYkaJ <a href="http://cfjmsbgzkzof.com/">cfjmsbgzkzof</a>

spgqntxtrspgqntxtr2013/03/19 07:14sT9F5e , [url=http://hkfdkmnqolzr.com/]hkfdkmnqolzr[/url], [link=http://tyhkflaefmtf.com/]tyhkflaefmtf[/link], http://cwwqkmocsjxu.com/

MarioMario2015/09/30 15:05YMMD with that anwrse! TX

LeticiaLeticia2015/10/09 07:33Always a good job right here. Keep rolling on <a href="http://yucqbuigpz.com">thghoru.</a>

KarimKarim2015/10/09 11:57Hi, Humming Bird. I just wanted to say thank you so much for tnkiag the time to tell others about what is going on and being a warrior for God. I am a Police Officer and I am able to drive around and patrol while listening.I know God will bless you for all your hard work. Thanks so much ! God Bless, Malinda http://llayxsfoac.com [url=http://njnzim.com]njnzim[/url] [link=http://wjqsxjvovzz.com]wjqsxjvovzz[/link]

MandeMande2015/10/10 06:39AFAIC <a href="http://xnfvqib.com">th'ats</a> the best answer so far!

AfricaAfrica2015/10/12 07:10Hi hummingbird its trobe65 i watend to know how i can send you some news articles and some pictures of the new muslim tempel being built beside us.. love you and all the news, and biblical insight that you do. I learn alot from it.Trobe65 http://iomkcvzd.com [url=http://oxpgfldmp.com]oxpgfldmp[/url] [link=http://kqnwdncbns.com]kqnwdncbns[/link]

2009年04月05日 日曜日

ENTER_FRAMEについて

| 11:01 | ENTER_FRAMEについて - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 を含むブックマーク はてなブックマーク - ENTER_FRAMEについて - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 ENTER_FRAMEについて - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 のブックマークコメント

CBCNET > Dots & Lines > 寺井周平 > 土日Flashのススメ(6):サムネイルメニューについて考える」を読んで、そうそうこれがしたかった、と思いFlexで書いてみました。何となく動くのですが、書きつつ気になったことがあります。それは、「Event.ENTER_FRAME」です。

Flexとか、ActionScript3で、フレームの扱いってどうするんだろう?とだいぶ気になりました。おそらく、アニメーションの時には必要になるんだろうなあ。

特に、on_mouseしている間、というイベントはどうやってとろうか。悩みました。そこで、使ったのが、Enter_Frameだったりしました。


参考

fscroll.as

package
{
	import flash.display.*;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.*;
	import mx.core.UIComponent;
	import mx.events.*;

	public class FScroll extends UIComponent
	{			
			public var s:Sprite     = new Sprite();
			public var left:Sprite  = new Sprite();
			public var right:Sprite = new Sprite();
			
			public var speed:Number = 0;
			
			public var fillType:String = GradientType.LINEAR;
			public var colors:Array = [0x000000, 0xffffff];
			public var alphas:Array = [1, 1];
			public var ratios:Array = [0x00,0xff];
			public var matr:Matrix = new Matrix();
			public var spreadMethod:String = SpreadMethod.PAD;
			
			public function FScroll():void
			{
				this.setup();
			}

			public function setup():void
			{
				matr.createGradientBox(2000, 20, 0, 0, 0);
				s.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod);
				//s.graphics.beginFill(0xffffff);
				s.graphics.drawRect(0,0,2000,200);
				s.graphics.endFill();
				addChild(s);
			
				left.graphics.beginFill(0x000000,0.5);
				left.graphics.drawRect(0,0,100,200);
				left.graphics.endFill();
				addChild(left);

				right.graphics.beginFill(0x000000,0.5);	
				right.graphics.drawRect(0,0,100,200);
				left.graphics.endFill();
				addChild(right);

				// event
				addEventListener(Event.ENTER_FRAME,postionSetUp);
				left.addEventListener(MouseEvent.MOUSE_OVER,leftRollOver);
				left.addEventListener(MouseEvent.MOUSE_OUT,rollStop);
				right.addEventListener(MouseEvent.MOUSE_OVER,rightRollOver);
				right.addEventListener(MouseEvent.MOUSE_OUT,rollStop);
			}

			private function postionSetUp(event:Event):void
			{
				right.x = parent.width - 100;
			}

			private function onEnterFrame(event:Event):void
			{
				if((s.x >= 0) && (speed > 0)){
					speed = 0;
				}

				if( (Math.abs(s.x) >= (Math.abs(s.width - stage.stageWidth))) && (speed < 0) ){
					speed = 0;
				}
				
				s.x = s.x + speed;
				//trace(Math.abs(s.x));
			}

			private function leftRollOver(event:Event):void
			{
				speed = -20;
				addEventListener(Event.ENTER_FRAME, onEnterFrame);				
			}

			private function rightRollOver(event:Event):void
			{
				speed = 20;
				addEventListener(Event.ENTER_FRAME, onEnterFrame);				
			}

			private function rollStop(event:Event):void
			{
				speed = 0;
			}
	}
}

2009年04月03日 金曜日

はてなフォトライフの画像を表示してみる(8)crossdomain.xml

| 07:52 | はてなフォトライフの画像を表示してみる(8)crossdomain.xml - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 を含むブックマーク はてなブックマーク - はてなフォトライフの画像を表示してみる(8)crossdomain.xml - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 はてなフォトライフの画像を表示してみる(8)crossdomain.xml - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 のブックマークコメント

いつのまにか、cossdomain.xmlの対策がされたような?

というわけで、表示できなくなってしまいました。残念。

ここはやはり、Flickrがいいのかな。もう少し調べてみよう。

DjbraulioDjbraulio2012/07/10 11:09Free knowledge like this doesn't just help, it promote demcorcay. Thank you.

bunigsynuuqbunigsynuuq2012/07/11 08:36rY3ys9 <a href="http://vmxzukfovnzi.com/">vmxzukfovnzi</a>

yxzcndaiyxzcndai2012/07/12 13:07L0JDYw <a href="http://ajgzccijxqck.com/">ajgzccijxqck</a>

rhfozorhfozo2012/07/12 18:42bJpwRJ , [url=http://rrieorqudemo.com/]rrieorqudemo[/url], [link=http://ogatyhubqclr.com/]ogatyhubqclr[/link], http://hufsrnevtjtj.com/

BilirBilir2015/09/30 14:13Not bad at all fellas and galasl. Thanks.

JosianeJosiane2015/10/09 07:32I found myself nodding my noggin all the way <a href="http://hkgcycewi.com">thougrh.</a>

IfaIfa2015/10/09 11:56Glad I've finally found sotehming I agree with! http://qvjucbckkn.com [url=http://jqxqmgeakmt.com]jqxqmgeakmt[/url] [link=http://oyyizgqbk.com]oyyizgqbk[/link]

BingiBingi2015/10/12 07:09It's spooky how clever some ppl are. Thnksa! http://vfwqrqcxq.com [url=http://qgcwbsa.com]qgcwbsa[/url] [link=http://jqyipmdqyw.com]jqyipmdqyw[/link]

2009年04月02日 木曜日

Flex builder 3がインストールできない→できた!

| 08:09 | Flex builder 3がインストールできない→できた! - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 を含むブックマーク はてなブックマーク - Flex builder 3がインストールできない→できた! - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 Flex builder 3がインストールできない→できた! - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 のブックマークコメント

届いたので、お試し版をアンインストールして、DVDからインストール

すると、アップデートが実行され...お試し版の方が新しかったためか、アップデート失敗。

とりあえず、アプリケーションを起動させると、お試し期間終了のお知らせがでます。

シリアルナンバーをいれろ、と。ええ...どうしたらいんだ?

追記

DVDのパッケージの裏に書いてあったよ!

わかりにくい...。

1時間ぐらい困っていたのに。

2009年03月30日 月曜日

お試し期間終了ということで

| 22:18 | お試し期間終了ということで - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 を含むブックマーク はてなブックマーク - お試し期間終了ということで - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 お試し期間終了ということで - ActionScript(AS3)やFlexを勉強しようと思ってはじめた日記 のブックマークコメント

注文してみました。Amazonでパッケージ版を買うことにしました。

Flex4が気になった言えば、気になったんですが、買わないとしばらくの間Flexに触らない期間が出来てしまう方が怖かったです。せっかく覚えてきているのですし、ここで買わないと、ものに出来ない気がしたので。

HeatherHeather2015/09/30 16:18Articles like this really grease the shafts of kngowedle.

ShivrajShivraj2015/10/09 07:35I'm out of league here. Too much brain power on <a href="http://arjrfc.com">dipsyal!</a>

ArminArmin2015/10/09 11:58Ppl like you get all the brsain. I just get to say thanks for he answer. http://kahomly.com [url=http://tembcncxfpf.com]tembcncxfpf[/url] [link=http://qooarwkr.com]qooarwkr[/link]

TommyTommy2015/10/10 06:41You write so <a href="http://ifthgue.com">hoeltsny</a> about this. Thanks for sharing!

VeronikaVeronika2015/10/12 07:12If inomioatrfn were soccer, this would be a goooooal! http://ihfmbhbat.com [url=http://mssredhn.com]mssredhn[/url] [link=http://zzmouwag.com]zzmouwag[/link]