メイン

progression アーカイブ

2009年2月 1日

[FLASH as3 progression3] mac マウスホイール取得

Q. progressionに組み込まれているSWFWheelを利用して
macでマウスホイールを取得したい

A.
Progression 3.1.0のリリースノートからSWFWheelが実装されている事がわかる。

プロジェクトの書き出しでmac Mouse Wheelを利用で書き出すと、

Index.as
import org.libspark.ui.SWFWheel;

// SWFWheel を有効化する
SWFWheel.initialize( stage );

が書き出される。
progression3.1.2_SWFWheel_Index.as

SWFWheelは、
MouseEvent.MOUSE_WHEELでそのままmacのホィールを取得してくれるので
以下のようにコードを書けば、マウスホイールの値を取得できる。

IndexScane.as
import flash.events.MouseEvent;
this.progression.stage.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheel);

private function mouseWheel(event:MouseEvent):void {
trace( "MouseDelta" , event.delta );
}

Progression3_SWFWheel

Author: yoshimax Date: 2009年2月 1日 01:09 | | Trackback (0)

[FLASH as3 progression3] Preloader.as でローディングバーを作成する

progressionでは、preloaderからindex.swfを読み込んでいるようです。
Preloader.asからその読み込み状況を取得できるようになっているので、
以下のように記載する事で読み込み完了、状況、エラーが取得できるので
その値を使ってプログレスバーの作成が可能になります。

Preloader.as 
public function Preloader() {
// 読み込みたい SWF ファイルの URL を設定します。
url = "index.swf";
// SWF ファイルの URL の起点を、自身の SWF ファイルが存在するフォルダにするかどうかを指定します。
useSWFBasePath = false;
addEventListener(ProgressEvent.PROGRESS, progressListener);
addEventListener(Event.COMPLETE, onCompleteListener);
addEventListener(IOErrorEvent.IO_ERROR, onIOerrorListener);
}

private function onIOerrorListener(event:IOErrorEvent):void {
trace("IOERROR" + event.text);
}

private function onCompleteListener(event:Event):void {
trace("COMPLATE");
}

private function progressListener(event:ProgressEvent):void {
trace(event.bytesLoaded + "/" + event.bytesTotal);
trace(Math.round(event.bytesLoaded / event.bytesTotal * 100));
}

だと思ったら progressionで既にメソッドが定義されているので
以下のようにするだけで、取得できるみたいです。

Preloader.as
protected override function _onCastLoadStart():void {
trace("LoadSTART");
// 実行したいコマンドを登録します。
addCommand(

);
}
/*======================================================================*/
/**
* ダウンロード処理を実行中にデータを受信したときに送出されます。
*/
protected override function _onProgress():void {
trace(bytesLoaded + "/" + bytesTotal);
trace(Math.round(bytesLoaded / bytesTotal * 100));
}
/*======================================================================*/
/**
* オブジェクトが読み込みを完了した瞬間に送出されます。
* このイベント処理の実行中には、addCommand() メソッド、及び insertCommand() メソッドによるコマンドの同期処理が行えます。
*/
protected override function _onCastLoadComplete():void {
trace("LoadComplate");
// 実行したいコマンドを登録します。
addCommand(

);
}


progression3.1.2_preloader

参考にさせていただいたサイト
Progressionのpreloader.flaを使ってみる
Progression の Preloader で読み込み中のバイト数を得る
AS3 さくっと使える、PreLoader
ExPreloaderを使ってみる
AS3 Apple Style Preloader

Author: yoshimax Date: 2009年2月 1日 04:51 | | Trackback (0)

2009年2月 2日

[FLASH as3 progression3] CastImageLoaderで画像読み込み時にアニメーションを表示する

progressionでCastImageLoaderでイメージを読み込むとき
ローディングアニメーションを簡易的に表示したい。

var loader = new CastImageLoader();
loader.addEventListener(CastEvent.CAST_LOAD_COMPLETE, loadCompleteHandler);
loader.addEventListener(CastEvent.CAST_LOAD_START, loadStartHandler);

イメージを読み込む前と完了後にイベントが発生するので
読み込み時にイメージを表示して、完了時に削除すれば読み込みイメージを表示できる。

ここでは、
flex and flash developer | steven sacks AS3 Apple Style Preloaderを読み込みイメージとして利用する。

import net.stevensacks.preloaders.CircleSlicePreloader;
import flash.display.Sprite;

private var container:Sprite = new Sprite();
private var loader = new CastImageLoader();
private var preload:CircleSlicePreloader = new CircleSlicePreloader();

public function Btn_Image( initObject:Object = null ) {
super( initObject );
if (initObject.imageUrl != null) {
var urlReq:URLRequest = new URLRequest(initObject.imageUrl);
loader.addEventListener(CastEvent.CAST_LOAD_COMPLETE, loadCompleteHandler);
loader.addEventListener(CastEvent.CAST_LOAD_START, loadStartHandler);
loader.load(urlReq);
}
}

//イメージ読み込み開始のハンドラ
private function loadStartHandler(e:CastEvent):void {
loader.removeEventListener(CastEvent.CAST_LOAD_START, loadStartHandler);
var sList:SerialList = new SerialList();
sList.addCommand(
new AddChild(this, preload)
);
sList.execute();
}

//イメージ読み込み完了のハンドラ
private function loadCompleteHandler(e:CastEvent):void {
loader.removeEventListener(CastEvent.CAST_LOAD_COMPLETE, loadCompleteHandler);
var sList:SerialList = new SerialList();
sList.addCommand(
new Wait(1000), // アニメーションの表示テスト
new RemoveChild(this, preload),
new Prop(loader, { x:-(loader.width/2), y:-(loader.height/2)} ),
new AddChild(this, loader)
);
sList.execute();
}

参考にさせていただいたサイト
Is It So Easy? CastImageLoaderを使ってみる
kanariia.com blog CastImageLoaderのロード中にCastMovieClipを表示してみる
Flashのフレームワーク「Progression3」を始めてみよう! 第5回 Progression3でWebサイトを作る(後編)

Author: yoshimax Date: 2009年2月 2日 01:13 | | Trackback (0)

2009年2月 3日

[さくら mod_rewrite] URLに#を含んだrewriteでURIencodeされてしまう

progressionなどで使われているSWFAddressでは、
/#/XXX のURLでベージが遷移する。

#にrewrite したら %23 にURIエンコードされてしまったのでメモ
NE オプションをつければよいみたいです。

さくらレンタルサーバでは以下のように設置したら
正常にrewriteされました。

.htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^html/privacy\.html$ /#/privacy [NE,R=301,L]
RewriteRule ^html/contact\.html$ /#/contact [NE,R=301,L]

Author: yoshimax Date: 2009年2月 3日 01:09 | | Trackback (0)

2009年2月 6日

[FLASH as3 progression3] Error: Error #9034: scene_ は予約された書式なので使用することができません。

progression3で以下のエラーが出た場合のチェックポイント
Error: Error #9034: scene_ は予約された書式なので使用することができません。


var page1:SceneObject = addScene(new SceneObject("01.Feb.2008.NEWS"));

シーンの名前に.(ドット)などは利用できないみたいです。
詳しくは参考サイトで確認。


参考にさせていただいたサイト
Progression (旧) : コンパイルエラーの原因がつかめない。「Error #9034」

Author: yoshimax Date: 2009年2月 6日 13:02 | | Trackback (0)

About progression

ブログ「Epic->yoshimax」のカテゴリ「progression」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはperlです。

次のカテゴリはtmnetworkです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Technorati

Technorati search

» ここにリンクしているブログ

2009年12月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

アーカイブ