Actionscript:三角関数で雪を降らせる

仕事で必要だったので雪が降るスクリプトを作りました。雪らしい横にフラフラする動きはサイン関数を使っています。雪のムービークリップを適当にアタッチしてそれぞれのMCにonEnterFrameでしたりに降りたり横にフラフラする動きをさせています。下のサンプルはフラフラ動く部分を抜き出したものです。リクエストがあればもっと解説します。

→雪のムービーを見る

this.degree += this.xStep;//xStep=横方向への移動スピード
this.radian = Math.PI / 180 * this.degree;
this._x = this.x + this.r * Math.sin(this.radian);//this.r=横の振幅

***** おすすめの参考書 *****
macromedia FLASH ActionScriptスーパーサンプル集
FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付]

Posted in FLASH Actionscript | 2 Comments

FLASH:Actionscript:iTunesのビジュアライザーもどき

以前作ったiTunesのヴィジュアライザーみたいなのをです。最初はただの輪が大きくなりながらフェードアウトするだけだったけど、せっかくなのであれもこれもとやってるうちにこんなのに。放っておいても勝手に動くけど、マウスでも動かせます。今日あたりamazonから本が届くと思ったけどまだみたい。「 Essential Actionscript 2.0」の方は中盤にさしかかり「???」だらけ…。あー難しい。もっと頭よくなりたい。

→Flashを見てみる

***** おすすめの参考書 *****
macromedia FLASH ActionScriptスーパーサンプル集
FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付]

Posted in FLASH Actionscript | Leave a comment

Javascript:XMLを使った日時指定可能なメッセージ表示

JavascriptとXMLを使って指定した日時の間だけメッセージを表示します。仕事で運営しているECサイトで指定された日時の間だけサーバーメンテナンスのお知らせを表示することになりました。しかも立て続けに2回!!いちいち差し替えるのは面倒なので指定した日時になったら自動的にメッセージの表示・非表示をするスクリプトを作りました。 XMLないの<news>~</news>を増やすことで複数のメッセージが表示できます。

※XMLの解析にKawa.netさんの JKL.ParseXMLを使用しています。こちらからライブラリをダウンロードしてください。
→ライブラリのダウンロード

Javascriptのソース
<script>
<!--
//ニュース情報が入ったXMLファイル
var url = "news.xml";
//XML解析オブジェクト
var xml = new JKL.ParseXML( url );
//表示メッセージ
var message="";
//XMLデータ読み込み
var data = xml.parse();
//今日の日付ゲット
date = new Date();
var y = String(date.getFullYear());
var mt = String(date.getMonth() + 1);
if(mt.length<=1) mt = "0"+mt;
var d = String(date.getDate());
if(d.length<=1) d = "0"+d;
var h = String(date.getHours());
if(h.length<=1) h = "0"+h;
var today = Number(y+mt+d+h);
if(data!=null){
//データ数分繰り返す
for(var i = 0;i < data["data"]["news"].length; i++){
//開始時日ゲット
var s_date = data["data"]["news"][i]["sdate"];
//終了日時ゲット
var e_date = data["data"]["news"][i]["edate"];
//開始・終了日時生成
s_date = s_date.replace("/", "");
s_date = s_date.replace("/", "");
s_date = s_date.replace("/", "");
e_date = e_date.replace("/", "");
e_date = e_date.replace("/", "");
e_date = e_date.replace("/", "");
s_date = Number(s_date);
e_date = Number(e_date);
//指定日時内ならメッセージ表示
if((today >= s_date) && (today <= e_date)){
//メッセージの最初だけ
if(message==""){
message = "<div id='news'>";
}
message += data["data"]["news"][i]["title"]+"<br>";
message += data["data"]["news"][i]["description"];
message += data["data"]["news"][i]["ps"]+"<br><br>";
}//if
}//for
//表示するメッセージがあれば表示
if(message!=null){
message+="</div>";
document.write(message);
}
}//if
//--></script> 

XMLファイル <data>
<news>
<!--2005年11月19日0時から-->
<sdate>2005/11/19/00</sdate>
<!--2005年11月22日9時まで表示-->
<edate>2005/11/22/08</edate> 
<!--メッセージのタイトル-->
<title> サーバメンテナンスのお知らせ</title>
<!--メッセージ本文-->
<description> メッセージです。
</description>
<!--追記がある場合はこちらに-->
<ps>
</ps>
</news>
</data> 

**** Javascript参考書 ****
古い入門書しか持っていないので新しく購入したいなぁ。Javascriptといったら古旗さんの本は外せませんね。
→改訂第3版 JavaScriptポケットリファレンス Pocket reference

→速効!図解プログラミング JavaScript

→JavaScript逆引きクイックリファレンスfor Windows & Macintosh


それ以外のおすすめ
→JavaScriptビジュアル・リファレンス

Posted in Javascript | 3 Comments

FLASH:Actionscriptで湯気

Actionscriptで湯気を作ってみました。画面をクリックすると湯気の表示・非表示を切り替えます。湯気のアタッチ時に湯気の移動スピードや、幅、高さ、それと移動しながら大きさやアルファを変化させるので、その目標値を設定。onEnterFrameで湯気の左右の移動と角度の変化、アタッチ時に設定した目標値へ近づける処理をしています。湯気そのものはPhotoshopのエアブラシでちょちょっと作ったものです。
→湯気を見る

詳しい解説を書いたので興味のある方はどうぞ。

***** おすすめの参考書 *****
macromedia FLASH ActionScriptスーパーサンプル集
FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付]

Posted in FLASH Actionscript | Leave a comment