var tmp_str:String = _root._url.substring(0,4);
_DEBUG = (tmp_str != "http");
//_DEBUG = false;
var level_str:String;
level_str = (_DEBUG) ? "../" : "";
fileRef["postData"] = "post1=hoge&post2=hogehoge";
fileRef.upload("sample.php");
import flash.net.FileReference;]]>
allTypes = new Array();
imageTypes = new Object();
imageTypes.description = "Images (*.jpg, *.jpeg)";
imageTypes.extension = "*.jpg; *.jpeg";
allTypes.push(imageTypes);
listener = new Object();
listener.onSelect = function(file:FileReference):Void {
trace("onSelect: " + file.name);
}
listener.onCancel = function(file:FileReference):Void {
trace("onCancel");
}
listener.onOpen = function(file:FileReference):Void {
trace("onOpen: " + file.name);
}
listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal);
}
listener.onComplete = function(file:FileReference):Void {
trace("onComplete: " + file.name);
}
listener.onHTTPError = function(file:FileReference):Void {
trace("onHTTPError: " + file.name);
}
listener.onIOError = function(file:FileReference):Void {
trace("onIOError: " + file.name);
}
listener.onSecurityError = function(file:FileReference, errorString:String):Void {
trace("onSecurityError: " + file.name + " errorString: " + errorString);
}
fileRef = new FileReference();
fileRef.addListener(listener);
fileRef.browse(allTypes);fileRef["postData"] = "post1=hoge&post2=hogehoge";
file_btn.onRelease = function():Void {
fileRef.browse();
};
upload_btn.onRelease = function():Void {
fileRef.upload("sample.php");
};
var so = new SWFObject("swf/main.swf", "main", "100%", "100%", "8", "#FFFFFF", true);
so.addVariable("FlashVars", "sample");
so.addParam("allowScriptAccess", "always");
〜
so.write("flashContentsBlock");
SWFObject v2.1の場合は
<head>
<script type="text/javascript" src="swfobject-2-1.js"></script>
<script type="text/javascript">
function createPlayer(thePlaceholder, thePlayerId, theFile, theAutostart) {
var flashvars = {
file:theFile,
autostart:theAutostart
}
var params = {
allowfullscreen:"true",
allowscriptaccess:"always"
}
var attributes = {
id:thePlayerId,
name:thePlayerId
}
swfobject.embedSWF("player.swf", thePlaceholder, "320", "196", "9.0.115", false, flashvars, params, attributes);
}
function init() {
createPlayer("placeholder1", "player1", "xxxxxx1.flv", false);
createPlayer("placeholder2", "player2", "xxxxxx2.flv", false);
createPlayer("placeholder3", "player3", "xxxxxx3", false);
}
</script>
</head>
_mc.mouseEnabled = false;
でOK。
]]>でOK。
下記ではうまくループできません。
var bgm_Sound:Sound = new Sound(this);
bgm_Sound.loadSound("sound/sample.mp3", true);
bgm_Sound.onSoundComplete = function() {
bgm_Sound.start();
}
bgm_Sound.start();
参考はここ
http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=547&forum=11
]]>
private const _sample_array:Array = [{Mx:0,My:0,Nx:0,Ny:8,Px:10,Py:-83},{Mx:10,My:-75,Nx:26,Ny:-238,Px:17,Py:206},{Mx:53,My:-107,Nx:62,Ny:186,Px:-21,Py:-195},{Mx:94,My:-116,Nx:22,Ny:-202,Px:20,Py:175},{Mx:136,My:-143,Nx:54,Ny:156,Px:-18,Py:-174},{Mx:172,My:-161,Nx:14,Ny:-94,Px:14,Py:55},{Mx:200, My:-200}];〜
Tweener.addTween(SampleMC, {y:0, time:5, transition:fromCurve,transitionParams: _sample_array});
〜
function fromCurve (t:Number,b:Number,c:Number,d:Number,pl:Array):Number {
var r:Number = 200 * t/d;
var i:Number = -1;
var e:Object;
while (pl[++i].Mx<=r) e = pl[i];
var Px:Number = e.Px;
var Nx:Number = e.Nx;
var s:Number = (Px==0) ? -(e.Mx-r)/Nx : (-Nx+Math.sqrt(Nx*Nx-4*Px*(e.Mx-r)))/(2*Px);
return (b-c*((e.My+e.Ny*s+e.Py*s*s)/200));
}
最背面にするとき
背面にするMCの親.setChildIndex(背面にするMC, 0);
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();
]]>
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);
}
}
}
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
http://www.adobe.com/devnet/flash/apps/flv_bitrate_calculator/
かなり多用してます。
_brightnessもあります。
【追記】
解除する時は
MovieClip.removeTweens( 〜 );
でOK
なんかめんど臭い。
]]> //ローカルファイルアクセス用のネットコネクションを作成する
connection = new NetConnection();
connection.connect (null);
//ネットストリームオブジェクトを作成する
netStream = new NetStream(connection);
//画面上に表示する
video_obj = new Video();
video_cotena.stage.addChild(video_obj);
video_obj.x = 0;
video_obj.y = 0;
video_obj.width = 900;
video_obj.height = 675;
//最背面に
video_cotena.stage.setChildIndex(video_obj, 0);
video_cotena.stage.addEventListener(Event.ENTER_FRAME, Main_EnterFrame);
function Main_EnterFrame(event:Event){
//ビデオオブジェクトとネットストリームオブジェクトを関連付ける
video_obj.attachNetStream (netStream);
netStream.play("flv/Sample.flv");//再生
//-----------------------------------------------------------------
//再生中の FLV ファイルに埋め込まれている詳細情報を取得
//-----------------------------------------------------------------
obj = new Object();
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]);
}
duration = param.duration;
};
//キューポイント
obj.onCuePoint = function(infoObject:Object){
var key_cue:String;
for (key_cue in infoObject){
if(infoObject[key_cue] == "half"){
trace("CuePoint : HALP");
//netStream.pause();
}
if(infoObject[key_cue] == "end"){
trace("CuePoint : END");
//netStream.pause();
}
}
}
netStream.client = obj;
//-----------------------------------------------------------------
//FLV設定
//-----------------------------------------------------------------
netStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncErrorHandler);
netStream.addEventListener(IOErrorEvent.IO_ERROR,URLLoaderIOErrorFunc);
netStream.addEventListener(NetStatusEvent.NET_STATUS ,URLLoaderProgressFunc);
function asyncErrorHandler(event:AsyncErrorEvent):void {
trace("ASYNC_ERROR");
}
function URLLoaderIOErrorFunc (event : IOErrorEvent) {
trace ("ファイル入出力のエラー");
}
function URLLoaderProgressFunc (event : NetStatusEvent) {
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);
}
}
}
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
これを実装してみたけど、うまくいきませんでした...
]]>