Home > Tags > adobemax2009
adobemax2009
[Adobe MAX Japan 2009]ROXIK城戸さんのアレとTweensyで観覧車やってみた
すでにたくさんのレポートが投稿されてるみたいですが、
私もAdobe MAX 2日目参加してきました!!
感想をまとめようかと思いましたが、
私と全く同じセッションを選択されているll_koba_llさんのこの記事に書いてあるまとめが、
本当に感じたこととか一緒でうまくまとめてくださってるので、
まとめるの割愛します(あんなにうまく文まとまりましぇんw)。
受けたセッションの中でも、
すぐやってみたいと思ったのが
ROXIK城戸さんが実際にコードを書いて
日本語変数でものすごくわかりやすかった
ムービークリップの座標を視点で制御するアレ。
そこで記憶とメモを基に、
サンプルを作ってみることにした。
まず準備
真ん中基準点のMC「box_mc」を作成。
セッションの時のを忠実に再現w
aの文字は動くとぶるぶるするので分解してシェイプに。
プロパティでクラスにbox_mcと設定。
サンプルたち
視点の横移動
- var 視点={x:0,y:0,angle:0,zoom:0};</p>
- <p>var ボックスたち=[];<br />
- var ポイントたち=[];</p>
- <p>ボックス追加();</p>
- <p>function ボックス追加() {<br />
- var ポイント;<br />
- var ボックス;</p>
- <p> for (var i=0; i<20; i++) {<br />
- ポイント={x:Math.random()*700,y:Math.random()*400};<br />
- ポイントたち[i]=ポイント;</p>
- <p> ボックス=new box_mc();<br />
- ボックスたち[i]=ボックス;<br />
- addChild(ボックス);<br />
- }<br />
- }</p>
- <p>function モーション(e:Event) {<br />
- 視点.x+=2;<br />
- }</p>
- <p>function レンダリング(e:Event) {<br />
- for (var i=0; i<ボックスたち.length; i++) {<br />
- var ポイント=ポイントたち[i];<br />
- var ボックス=ボックスたち[i];</p>
- <p> ボックス.x=ポイント.x-視点.x;<br />
- ボックス.y=ポイント.y-視点.y;<br />
- }<br />
- }<br />
- addEventListener(Event.ENTER_FRAME,モーション);<br />
- addEventListener(Event.ENTER_FRAME,レンダリング);
視点の回転
- var 視点={x:0,y:0,angle:0,zoom:0};</p>
- <p>var ボックスたち=[];<br />
- var ポイントたち=[];</p>
- <p>ボックス追加();</p>
- <p>function ボックス追加() {<br />
- var ポイント;<br />
- var ボックス;</p>
- <p> for (var i=0; i<20; i++) {<br />
- ポイント={x:Math.random()*700,y:Math.random()*400};<br />
- ポイントたち[i]=ポイント;</p>
- <p> ボックス=new box_mc();<br />
- ボックスたち[i]=ボックス;<br />
- addChild(ボックス);<br />
- }<br />
- }</p>
- <p>function モーション(e:Event) {<br />
- //ポイント.x+=2;<br />
- //視点.x+=2;<br />
- 視点.angle+=0.01;<br />
- }</p>
- <p>function レンダリング(e:Event) {<br />
- var cos=Math.cos(視点.angle);<br />
- var sin=Math.sin(視点.angle);</p>
- <p> for (var i=0; i<ボックスたち.length; i++) {<br />
- var ポイント=ポイントたち[i];<br />
- var ボックス=ボックスたち[i];</p>
- <p> var 視点からの差x=ポイント.x-視点.x;<br />
- var 視点からの差y=ポイント.y-視点.y;</p>
- <p> ボックス.x=視点からの差x*cos-視点からの差y*sin+350;<br />
- ボックス.y=視点からの差x*sin+視点からの差y*cos+200;<br />
- }<br />
- }<br />
- addEventListener(Event.ENTER_FRAME,モーション);<br />
- addEventListener(Event.ENTER_FRAME,レンダリング);
視点のズーム&回転
- var 視点={x:0,y:0,angle:0,zoom:0};</p>
- <p>var ボックスたち=[];<br />
- var ポイントたち=[];</p>
- <p>ボックス追加();</p>
- <p>function ボックス追加() {<br />
- var ポイント;<br />
- var ボックス;</p>
- <p> for (var i=0; i<20; i++) {<br />
- ポイント={x:Math.random()*700,y:Math.random()*400};<br />
- ポイントたち[i]=ポイント;</p>
- <p> ボックス=new box_mc();<br />
- ボックスたち[i]=ボックス;<br />
- addChild(ボックス);<br />
- }<br />
- }</p>
- <p>function モーション(e:Event) {<br />
- //ポイント.x+=2;<br />
- 視点.angle-=0.01;<br />
- 視点.zoom+=0.01;<br />
- }</p>
- <p>function レンダリング(e:Event) {<br />
- var cos=Math.cos(-視点.angle);<br />
- var sin=Math.sin(-視点.angle);</p>
- <p> for (var i=0; i<ボックスたち.length; i++) {<br />
- var ポイント=ポイントたち[i];<br />
- var ボックス=ボックスたち[i];</p>
- <p> var 視点からの差x=(ポイント.x-視点.x)*視点.zoom;</p>
- <p> var 視点からの差y=(ポイント.y-視点.y)*視点.zoom;</p>
- <p> ボックス.scaleX=ボックス.scaleY=視点.zoom;<br />
- ボックス.x=視点からの差x*cos-視点からの差y*sin+350;<br />
- ボックス.y=視点からの差x*sin+視点からの差y*cos+200;<br />
- }<br />
- }<br />
- addEventListener(Event.ENTER_FRAME,モーション);<br />
- addEventListener(Event.ENTER_FRAME,レンダリング);
感想
忘れないうちにってことでとりあえずアップしてみたけど、
かなりセッションでやってたやつに近いサンプルができたかな?
自分もこのソースみてまた勉強しようw
今回の城戸さんのスライド公開ならへんかなぁ(*´ω`*)
関連する投稿
- Comments: 0
- Trackbacks: 0
[Adobe MAX Japan 2009] ROXIK城戸さんのをアレをやってみる
すでにたくさんのレポートが投稿されてるみたいですが、
私もAdobe MAX 2日目参加してきました!!
感想をまとめようかと思いましたが、
私と全く同じセッションを選択されているll_koba_llさんのこの記事に書いてあるまとめが、
本当に感じたこととか一緒でうまくまとめてくださってるので、
まとめるの割愛します(あんなにうまく文まとまりましぇんw)。
受けたセッションの中でも、
すぐやってみたいと思ったのが
ROXIK城戸さんが実際にコードを書いて
日本語変数でものすごくわかりやすかった
ムービークリップの座標を視点で制御するアレ。
そこで記憶とメモを基に、
サンプルを作ってみることにした。
まず準備
真ん中基準点のMC「box_mc」を作成。
セッションの時のを忠実に再現w
aの文字は動くとぶるぶるするので分解してシェイプに。
プロパティでクラスにbox_mcと設定。
サンプルたち
視点の横移動
- var 視点={x:0,y:0,angle:0,zoom:0};
- var ボックスたち=[];
- var ポイントたち=[];
- ボックス追加();
- function ボックス追加() {
- var ポイント;
- var ボックス;
- for (var i=0; i<20; i++) {
- ポイント={x:Math.random()*700,y:Math.random()*400};
- ポイントたち[i]=ポイント;
- ボックス=new box_mc();
- ボックスたち[i]=ボックス;
- addChild(ボックス);
- }
- }
- function モーション(e:Event) {
- 視点.x+=2;
- }
- function レンダリング(e:Event) {
- for (var i=0; i<ボックスたち.length; i++) {
- var ポイント=ポイントたち[i];
- var ボックス=ボックスたち[i];
- ボックス.x=ポイント.x-視点.x;
- ボックス.y=ポイント.y-視点.y;
- }
- }
- addEventListener(Event.ENTER_FRAME,モーション);
- addEventListener(Event.ENTER_FRAME,レンダリング);
視点の回転
- var 視点={x:0,y:0,angle:0,zoom:0};
- var ボックスたち=[];
- var ポイントたち=[];
- ボックス追加();
- function ボックス追加() {
- var ポイント;
- var ボックス;
- for (var i=0; i<20; i++) {
- ポイント={x:Math.random()*700,y:Math.random()*400};
- ポイントたち[i]=ポイント;
- ボックス=new box_mc();
- ボックスたち[i]=ボックス;
- addChild(ボックス);
- }
- }
- function モーション(e:Event) {
- //ポイント.x+=2;
- //視点.x+=2;
- 視点.angle+=0.01;
- }
- function レンダリング(e:Event) {
- var cos=Math.cos(視点.angle);
- var sin=Math.sin(視点.angle);
- for (var i=0; i<ボックスたち.length; i++) {
- var ポイント=ポイントたち[i];
- var ボックス=ボックスたち[i];
- var 視点からの差x=ポイント.x-視点.x;
- var 視点からの差y=ポイント.y-視点.y;
- ボックス.x=視点からの差x*cos-視点からの差y*sin+350;
- ボックス.y=視点からの差x*sin+視点からの差y*cos+200;
- }
- }
- addEventListener(Event.ENTER_FRAME,モーション);
- addEventListener(Event.ENTER_FRAME,レンダリング);
視点のズーム&回転
- var 視点={x:0,y:0,angle:0,zoom:0};
- var ボックスたち=[];
- var ポイントたち=[];
- ボックス追加();
- function ボックス追加() {
- var ポイント;
- var ボックス;
- for (var i=0; i<20; i++) {
- ポイント={x:Math.random()*700,y:Math.random()*400};
- ポイントたち[i]=ポイント;
- ボックス=new box_mc();
- ボックスたち[i]=ボックス;
- addChild(ボックス);
- }
- }
- function モーション(e:Event) {
- //ポイント.x+=2;
- 視点.angle-=0.01;
- 視点.zoom+=0.01;
- }
- function レンダリング(e:Event) {
- var cos=Math.cos(-視点.angle);
- var sin=Math.sin(-視点.angle);
- for (var i=0; i<ボックスたち.length; i++) {
- var ポイント=ポイントたち[i];
- var ボックス=ボックスたち[i];
- var 視点からの差x=(ポイント.x-視点.x)*視点.zoom;
- var 視点からの差y=(ポイント.y-視点.y)*視点.zoom;
- ボックス.scaleX=ボックス.scaleY=視点.zoom;
- ボックス.x=視点からの差x*cos-視点からの差y*sin+350;
- ボックス.y=視点からの差x*sin+視点からの差y*cos+200;
- }
- }
- addEventListener(Event.ENTER_FRAME,モーション);
- addEventListener(Event.ENTER_FRAME,レンダリング);
感想
忘れないうちにってことでとりあえずアップしてみたけど、
かなりセッションでやってたやつに近いサンプルができたかな?
自分もこのソースみてまた勉強しようw
今回の城戸さんのスライド公開ならへんかなぁ(*´ω`*)
関連する投稿
- Comments: 0
- Trackbacks: 1
Home > Tags > adobemax2009