home > September 2008
自身のロード状況を表示
September 23, 2008
//------------------------------------------
//ローディング設定
//------------------------------------------
import caurina.transitions.Tweener;
import caurina.transitions.properties.ColorShortcuts;
stage.scaleMode=StageScaleMode.NO_SCALE;
stage.align=StageAlign.TOP_LEFT;//▼SWFファイル容量取得
var totalBytes:uint = this.loaderInfo.bytesTotal;//▼イベントハンドラ設定
stage.addEventListener(Event.ENTER_FRAME, xEnterFrame);//▼関数定義
function xEnterFrame(event:Event) {
var loadPer:uint = Math.floor(this.loaderInfo.bytesLoaded / totalBytes * 100);
load_robo.h_mask.scaleY = loadPer/100;
if (loadPer >= 100){
load_robo.heart_click.alpha = 1;
Tweener.addTween(load_robo, {alpha:0, time:2, transition:"easeOutExpo",
delay:2, onComplete:onMainload});
stage.removeEventListener(Event.ENTER_FRAME, xEnterFrame);
}
}//ローディング完了
function onMainload(){
play();
}
stop();
Tweet
Loader
外部のswfを読込む方法。
package {
import flash.display.Loader;
import flash.net.URLRequest
public class MainLoad extends MovieClip{
static var ldr_top:Loader;
static var url_top:String;
static var urImage_top:URLRequest;
public function sample_load(){
ldr_top = new Loader();
url_top = "swf/top.swf";
urImage_top = new URLRequest(url_top);
ldr_top.load(urImage_top);
mm.addChild(ldr_top);
}
}
}
Tweet
Papervision3Dでピクセル等倍表示
ピクセル等倍になる距離 = camera.focus * camera.zoom - camera.focus
ピクセル等倍になる距離 = camera.focus * camera.zoom - camera.focus + camera.focus
でできるらしい。
camera.focus = 100;
camera.zoom = 11;
//ピクセル等倍になる距離 = camera.focus * camera.zoom - camera.focus
//ピクセル等倍になる距離 = camera.focus * camera.zoom - camera.focus + camera.focus
camera.z = camera.focus * camera.zoom - camera.focus;
詳しくはこちら
http://blog.r3c7.net/?p=166
Tweet
Flash video (FLV) bitrate calculator
September 21, 2008
AdobeからFLVエンコード時のビットレートを簡単に教えてくれるサイトがありました。
使えるかどうかは良くわからないですが念のためメモ。
http://www.adobe.com/devnet/flash/apps/flv_bitrate_calculator/
Tweet
Tweener
September 09, 2008
import caurina.transitions.Tweener;
import caurina.transitions.properties.ColorShortcuts;
import caurina.transitions.properties.FilterShortcuts;
//ColorShortcutsの初期化
ColorShortcuts.init();
//FilterShortcutsの初期化
FilterShortcuts.init();
//ムービの初期設定
var mc:Object = {time:0 , x:300 , y:200 , alpha:0 , _Blur_blurX:50 , _Blur_blurY:50, _brightness:1};
Tweener.addTween(sample.MoveClip, mc);
Tweener.addTween(sample.MoveClip, {alpha:1, _Blur_blurX:0, _Blur_blurY:0, _brightness:0,
transition:"easeInQuart", time:0.5, delay:2.5, onComplete:Sample});
public function Sample(){
〜Action〜
}
かなり多用してます。
_brightnessもあります。
【追記】
解除する時は
MovieClip.removeTweens( 〜 );
でOK
全て削除する場合は
Tweener.removeAllTweens();
Tweet
AS3でリンク設定
import flash.net.navigateToURL;
import flash.net.URLRequest;
〜
//_blank
var url_send:URLRequest = new URLRequest( "http://www.yahoo.co.jp/" );
navigateToURL(url_send);
//_self
var url_send2:URLRequest = new URLRequest( "http://www.yahoo.co.jp/" );
navigateToURL(url_send2, "_self");
なんかめんど臭い。
Tweet
AS3でFlv再生
September 05, 2008
VideoStageCls.asドキュメントクラス
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.net.*;public class VideoStageCls extends Sprite{
//NETSTREAM
private var connection : NetConnection;
private var netStream : NetStream;
private var obj : Object;
private var video_obj : Video;
private var video_cotena : DisplayObjectContainer;
public function VideoStageCls()
{
VideoStart();
}
private function VideoStart():void
{
video_cotena = new Sprite();
addChild(video_cotena);
//ローカルファイルアクセス用のネットコネクションを作成する
connection = new NetConnection();
//ストリーミングの場合「null」を変更する
connection.connect (null);
//Object
obj = new Object();
//ネットストリームオブジェクトを作成する
netStream = new NetStream(connection);
//画面上に表示する
video_obj = new Video();
video_cotena.addChild(video_obj);
video_obj.x = 0;
video_obj.y = 0;
video_obj.width = 800;
video_obj.height = 600;
//ビデオオブジェクトとネットストリームオブジェクトを関連付ける
video_obj.attachNetStream (netStream);
netStream.play("flv/sample.flv");//再生
netStream.client = obj;
netStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncErrorHandler);
netStream.addEventListener(IOErrorEvent.IO_ERROR,URLLoaderIOErrorFunc);
netStream.addEventListener(NetStatusEvent.NET_STATUS ,URLLoaderProgressFunc);
video_cotena.stage.addEventListener(Event.ENTER_FRAME, Main_EnterFrame);
}
private function Main_EnterFrame(event:Event){
//-----------------------------------------------------------------
//再生中の FLV ファイルに埋め込まれている詳細情報を取得
//-----------------------------------------------------------------obj.onMetaData = function(param:Object){
trace("総時間 : " + param.duration + "秒");
trace("幅 : " + param.width);
trace("高さ : " + param.height);
trace("ビデオレート : " + param.videodatarate + "kb");
trace("フレームレート : " + param.framerate + "fps");
trace("コーデックID : " + param.videocodecid);
//キューポイント
var key:String;
for( key in param ){
trace("[ key ] " + key + ": " + param[key]);
}
}
}
private function asyncErrorHandler(event:AsyncErrorEvent):void
{
trace("ASYNC_ERROR");
}
private function URLLoaderIOErrorFunc(event:IOErrorEvent):void
{
trace ("ファイル入出力のエラー");
}
private function URLLoaderProgressFunc(event:NetStatusEvent):void
{
switch(event.info.code){
case "NetStream.Buffer.Empty":
trace ("バッファが空になったので中断");
break;
case "NetStream.Buffer.Full":
trace ("バッファを満たしたので再生");
break;
case "NetStream.Buffer.Flush":
trace ("ストリーム読み込みが終了した");
break;
case "NetStream.Play.Start":
trace ("再生の開始");
break;
case "NetStream.Play.Stop":
trace ("再生の停止");
break;
case "NetStream.Play.StreamNotFound":
trace ("FLV ファイルが見つからない");
break;
case "NetStream.Play.Failed":
trace ("その他のエラー");
break;
case "NetStream.Seek.Failed":
trace ("シークが失敗した");
break;
case "NetStream.Seek.InvalidTime":
trace ("有効ではないシーク時間を指定した");
trace ("指定可能なシーク時間 : " + event.info.details);
netStream.seek (event.info.details);
break;
case "NetStream.Seek.Notify":
trace ("シーク操作を完了");
break;
default:
trace ("その他のイベントコード:" + event.info.code);
}
}
}
}
【追記】
一時停止した動画を再び再生したい場合は
_netStream.pause();
_netStream.resume();
一時停止と再生を交互に繰り返したい場合は
_netStream.togglePause();
再生位置を取得する場合は
var time : Number = _netStream.time;
再生位置(単位:秒)を変更する場合は
_netStream.seek(20);
Tweet
AS3のメモリー解放
これがなかなかやっかいです。外部swfをloaderで読込んで消したい時にunLoadするだけではメモリーは解放されません。
http://www.trick7.com/blog/2008/08/07-044657.php
http://www.kkfactory.net/mt/archives/2008/08/as3loaderbitmap.html
色々書いてるけど、もっと簡単にできないものでしょうか?
http://www.kkfactory.net/mt/archives/2008/08/as3loaderbitmap.html
これを実装してみたけど、うまくいきませんでした...
Tweet
Papervision3Dでマウスに反応
Viewport3D.interactive = true
にする。
Tweet
AS3でサウンド再生
AS3で音を再生する方法。
import flash.media.Sound; import flash.media.SoundChannel; import flash.media.*;var mySound:Sound;
var mySoundChannel:SoundChannel;
var mySoundTransform:SoundTransform = new SoundTransform();
var soundURL = new URLRequest("sound/Loop.mp3"); //ロードするMP3ファイルのURL略
//再生
public function MainBGM_Play(){
mySound = new Sound(soundURL);
mySoundChannel = mySound.play(0,99);
mySoundTransform.volume = 1;
mySoundChannel.soundTransform = mySoundTransform;
}
//音量調整
public function MainBGM_Small(){
mySoundTransform.volume = 0.5;
mySoundChannel.soundTransform = mySoundTransform;
}
public function MainBGM_Stop(){
mySoundTransform.volume = 0;
mySoundChannel.soundTransform = mySoundTransform;
}
//完全にストップ
public static function SoundAllNo(){
mySoundTransform.volume=0;
SoundMixer.soundTransform = mySoundTransform;
SoundMixer.stopAll();//再生中のサウンドをすべて停止します。
}
Tweet
APMT4
September 04, 2008
APMT4 行ってきました!かなり刺激になりました。
長谷川踏太(tomato)さんはやっぱすごいね。
やっぱり自分はメディアアートが好きなんだと思いました。
Tweet
AS3
最近、やっとAS3を本腰入れてやってます。基本実戦で覚えるタイプなのでかなり苦戦しています(泣)
いろいろメモしておきたい事が山ほどあるのでこれから随時アップしていきます。
Tweet