Parafla復習

[ リスト | 詳細 ]

記事検索
検索

全22ページ

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[ 次のページ ]

http://retrip.s3.amazonaws.com/article/2493/images/2493043ed820-0551-4a0d-bdeb-fc463266cba4_l.jpg
ツリーの赤緑青の小さな点の表示は上記の画像を拝借し加工した
小さな3色の天は次の方法で分離しました
大きな玉と上の星をJtrimで黒く塗りつぶし
黒くなった大きな玉の部分に小さな画像を切り抜き上にのせ
拝命部分を黒くして下の画像を作ります
イメージ 1


この画像をJtrimのカラー>RGBの度合いでRとGのスライドを
一番左にすると黒と青い点の画像になります
カラーの明るさとコントラストをうまく調整し2色の誤差拡散にすると
青だった部分が小さな点になります
イメージ 2


これを赤と緑にも同様の処理を行い
Pataflaに区をを透明にして各色の3つのスプライトにいれ
onClipEvent(load){
c = 0;
t = 0;
st = Math.floor(Math.random()*20) + 35;   
st2 = Math.floor(Math.random()*10) + 15;   
_alpha = 0;
}
-
onClipEvent (enterFrame) {
c ++ ;
c2 = c + st2;
 if (c < st){t = 0;}
 if (c >= st){_alpha = 100;t ++ ;}
 if ( t >= 23 ){c = 0;st = Math.floor(Math.random()*20) + 35;   
st2 = Math.floor(Math.random()*10) + 15;
_alpha = 0;c2 = 0;}
}

これをある色のスクリプトで
時間が来ると点灯し時間が来ると透明に(消灯)します
stやst2のランダム値を色によって多少変えて釣りの点灯を表現してみました
星の動きは
topページのスクリプトの
px = Math.random()*300 + 150;        // 円の中心 x 座標 回転しない
py = Math.random()*300 + 150;            // 円の中心 y 座標
deg = Math.random()*360;        // 中心から円中心の角度)
ddeg = 1;
dr = Math.random()*100 + 50;;    // 中心から星中心までの長さ
dl = dr /360;

px,pyとツリーもトップの位置の座標にして
drを0にしてddegと0にして回転角度をつけなければその位置で現れ小さくなるを繰り返します

ddeg = 1;の1をマイナス1にすると逆回転
数値を大きくすると回転速度が変わります

おさむさんから
幻想的な新作登場です・・・素晴しい!!!
とありがたいコメントを頂きましたが
背景画など適当に選んだらこうなったものです
ちょっと恐れ多く恐縮いたします

あさ雪が積もっていたので身近にあった服と防寒着で除雪
午後から室蘭工業大学で不登校の学習支援をしている本人も
不登校の経験を持つ学生が経験を話す研究会に行ってみました
校舎が工事中で暖房がつかない教室で非常に寒く足元を見ると
くるぶしまでの短い靴下で足首が生足状態
新聞社が不登校の親など顔を出すのをためらう方がいることを配慮し
円座になった話し合いの膝から下を写すことになったので
明日の新聞に私の艶かしい生足が載るかも知れません
ちょっと恥ずかしい・・・
クリスマス用のフラッシュで金色の玉の頂点で竿が左右に揺れています
竿を増やし色を変えたフラッシュを作り使用しています
竿が伸び縮みしたらどうなるかここでは使用していませんが
これをまず作りました
スプライトを増やしてそこに次のスクリプトを書き込めば出来ます
onClipEvent(load){

sx = 300;
sy = 300;
r = 0;
d = 180;
tx = Math.sin(d *Math.PI / 180) * r + sx;
ty = Math.cos(d *Math.PI / 180) * r + sy;
dr =1;
lineStyle(4, 0xff0000, 100);
moveTo(sx, sy);
lineTo(tx, ty);
}
-
onClipEvent(enterFrame) {
clear();
d += dr;
r += 1;
tx = Math.sin(d *Math.PI / 180) * r + sx;
ty = Math.cos(d *Math.PI / 180) * r + sy;
lineStyle(4, 0xff0000, 100);
moveTo(sx,sy);
lineTo(tx,ty);       

if (r >= 150){ r = 0;}
if (d >= 240 || d <= 120){ dr = -1 * dr;}
}
 
これで金色の玉から長さが変わりながら左右に揺れる竿のフラッシュが出来ます
このと竿の先っぽの動きを見ていたら変わった動きをしていたので
金色の玉から弾が飛び出すフラッシュが出来荘と思い作ってみました
これも元は金色の玉の上を左右が左右に揺れるフラッシュの応用です
onClipEvent(load){

sx = 300;
sy = 300;
r = 90;
d = 180;
tx = Math.sin(d *Math.PI / 180) * r + sx;
ty = Math.cos(d *Math.PI / 180) * r + sy;
dr =1;
lr =3;
lineStyle(4, 0xff0000, 100);
moveTo(sx, sy);
lineTo(tx, ty);
}
-
onClipEvent(enterFrame) {
clear();
d += dr;
r += lr;

cx=tx;cy = ty;
if (r >= 200 || r <= 0){ lr = -1 * lr;}
tx = Math.sin(d *Math.PI / 180) * r + sx;
ty = Math.cos(d *Math.PI / 180) * r + sy;
lineStyle(4, 0xff0000, 100);
moveTo(cx,cy);
lineTo(tx,ty);       
if (d >= 220 || d <= 140){ dr = -1 * dr;}
}

追加

クリスマスツリーの横に
それらしい置物を作ろうと思い
メトロノームの動きをするフラッシュ
何本か降らして色を変えたものを
これを使って設定しようと思います
スプライトを追加し
そこに下記の記述のみ

onClipEvent(load){
sx = 300;
sy = 300;
r = 150;
d = 180;
tx = Math.sin(d *Math.PI / 180) * r + sx;
ty = Math.cos(d *Math.PI / 180) * r + sy;
dr =1;
lineStyle(4, 0xff0000, 100);
moveTo(sx, sy);
lineTo(tx, ty);
}
-
onClipEvent(enterFrame) {
clear();
d += dr;
tx = Math.sin(d *Math.PI / 180) * r + sx;
ty = Math.cos(d *Math.PI / 180) * r + sy;
lineStyle(4, 0xff0000, 100);
moveTo(sx,sy);
lineTo(tx,ty);       
if (d >= 240 || d <= 120){ dr = -1 * dr;}
}
 
前回のと合わせてここまで出来ました
これにツリー自体を光らせようと思います
イメージ 1

Eテレの国宝を尋ねてと言う番組の
右下に使われていたフラッシュを
真似てみる
①任意の位置に発生
②発生位置から微妙にずれ外に向かって移動
③微妙にずれている時大きくなり外に向かう時スピードが速くなり小さくなって消える
④複製数は10個程度
600×600のプロジェクトサイズ
背景色は黒または暗め
100×100の白い円で作成

まず①から
onClipEvent(load){
sx = 300;  //中心座標 とりあえず中心に
sy = 300;
c = 0;    //カウンター初期値
_x = sx;    
_y = sy;
ds = 5;       //移動速度
_xscale = 10;     //初期サイズ
_yscale = _xscale;

}
-
onClipEvent(enterFrame) {
   }


これを外の方向に移動
三角関数を使いますx軸方向移動量を求める
x軸方向移動量 = Math.cos( 角度 * Math.PI / 180 ) * 距離
y軸方向移動量 = Math.sin( 角度 * Math.PI / 180 ) * 距離
rr = Math.random()*360;  //360度ランダム値
と移動速度ds = 5; 

これを元に
ds = 5; の下に追加設定
rr = Math.random()*360;
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;

フレームあたりの移動量が出たので
onClipEvent(enterFrame) {
_x += dx;
_y += dy;
   }

始めはゆっくり徐々に早く移動
onClipEvent(load){
sx = 300;  //中心座標 とりあえず中心に
sy = 300;
c = 0;    //カウンター初期値
_x = sx;    
_y = sy;
rr = Math.random()*360;
is = 90;
iz = 0;
dz = Math.cos( is * Math.PI / 180 ) * 5; 
ds = Math.cos( is * Math.PI / 180 ) * 5;       //移動速度
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_xscale = 0;     //初期サイズ
_yscale = _xscale;

}
-
onClipEvent(enterFrame) {
is -= 1;iz += 1;
ds = Math.cos( is * Math.PI / 180 ) * 5;      
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_x += dx;
_y += dy;
_xscale += dz;     
_yscale = _xscale;
   }

これに急激に大きくなり徐々に小さくなる設定を加えると出来上がり
onClipEvent(load){
sx = 300;  //中心座標 とりあえず中心に
sy = 300;
c = 0;    //カウンター初期値
_x = sx;   
_y = sy;
rr = Math.random()*360;
is = 90;
iz = 0;
dz = Math.cos( iz * Math.PI / 180 ) * 5; 
ds = Math.cos( is * Math.PI / 180 ) * 5;       //移動速度
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_xscale = 0;     //初期サイズ
_yscale = _xscale;

}
-
onClipEvent(enterFrame) {
is -= 1;iz += 3;
if (iz== 90){iz = 180;}
ds = Math.cos( is * Math.PI / 180 ) * 5;      
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_x += dx;
_y += dy;
dz = Math.cos( iz * Math.PI / 180 ) * 5;
_xscale += dz; 
if (_xscale < -1){c = 0;    //カウンター初期値
_x = sx;   
_y = sy;
rr = Math.random()*360;
is = 90;
iz = 0;
dz = Math.cos( iz * Math.PI / 180 ) * 5; 
ds = Math.cos( is * Math.PI / 180 ) * 5;       //移動速度
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_xscale = 0;     //初期サイズ
_yscale = _xscale;}   
_yscale = _xscale;
   }
同じものを作っても意味が無いのでこれを利用してクリスマス用の
http://www.levitated.net/daily/levCryptoscript.html
adobeのソースファイルを落とせるので対応フラッシュソフトを
お持ちの方は参考にしてください

イメージ 1


Paraflaでも簡単にできそうなので
出来たらそれを応用したフラッシュができればと思っています
クリックするたびに代わりますが②〜④(もう少しあるかもしれません)
gotoplayかスクリプトで変化をつければよさそうなのでこれはしません
①は横移動のマウスカーソルなのでまず①から

もうすぐハロウィーンなので適当なカボチャの画像を用意し
スプライトを追加しカボチャの画像中心を描画0,0で固定画面に
カボチャのサイズは適当に設定してください
プロジェクトのサイズは600×600にします
マウスカーソルの設定のベースは

onClipEvent(enterFrame){
_x = _root._xmouse;
_y = 300;
}

ちょっと行き過ぎて元に戻る

onClipEvent(load) {
  vx=0; _y = 300;
 }
-
onClipEvent(enterFrame) {
  vx=vx*0.65+(_root._xmouse-this._x)/3;
    this._x+=vx;
  
 }

①の完成

③,④の外を回る設定は
スプライトの描画位置0,0の固定は①と同じですが
画像中心は頭のずーっと上 100,100の画像なら横中心は50
縦はー200のようになります
onClipEvent(load) {
_x = 300;
_y = 300;
dr = 5;
_rotation = 0;
 }
-
onClipEvent(enterFrame) {
_rotation += dr;
 
 }

drの数値がマウスの横位置に連動しているので
dr = 300 - _root._xmouse;
外に行くととんでもなく早くなるので
例えば
onClipEvent(load) {
_x = 300;
_y = 300;
_rotation = 0;
 }
-
onClipEvent(enterFrame) {
_rotation += dr = 0.1 * (300 - _root._xmouse);;
 
 }
のようにします

クリックするたび回転なする個数が変わりますが
gotoplayで分岐か複製スクリプトを使う方法があると思いますが
今回は数を固定します
4つであれば
このスプライトを複製し深度を変え
_rotation = 0;の初期値を90に同様に180,270
で出来上がり

②の中央でくるくる回る設定は
スプライトは①と同じなのでそれを複製し深度を変えます
スクリプトは
onClipEvent(load) {
_X = 300;
_Y = 400;
_rotation = 0;
 }
-
onClipEvent(enterFrame) {
_rotation +=  0.1 * (300 - _root._xmouse);;
 
 }

3時方向に追加する場合
_X = 400;
_Y = 300;

これを参考に数を増やしたりしてください











全22ページ

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[ 次のページ ]


よしもとブログランキング

もっと見る

プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事