home > April 2009

HTTPS接続(SSL)する際のcrossdomain.xmlの設定

April 28, 2009

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<!-- Policy file for mysite.com -->
<cross-domain-policy>
<allow-access-from domain="sample.com" secure="false" />
</cross-domain-policy>

HTTP SWFファイルとHTTPS SWFファイルの通信を許可するようにするには

secure="false"にすればOKです。

デフォルト(何も書かない状態)はsecure="true"なので、

HTTPS接続(SSL)する場合はsecure="false"にすればOKです。

つまりswfの別ドメイン間のやり取りに加えて、SSL通信が必要な場合はこうすれはいいみたいですね。

忘れそうなのでメモ。

参考サイトはこちら
http://www.adobe.com/jp/devnet/flashplayer/articles/secure_swf_apps_05.html
http://blog.img8.com/archives/2006/12/002751.html


その他の方法では、codebaseと、embedタグ内のプラグイン取得への箇所のプロトコル宣言をhttpsにしておくだけでOKだそうです。


<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"

width="**" height="**" id="**" align="middle">

<embed src="huga.swf" quality="high" bgcolor="#ffffff" width="**" height="**" name="**"

align="middle" allowScriptAccess="sameDomain" allowFullScreen="false"

type="application/x-shockwave-flash" pluginspage="https://www.adobe.com/go/getflashplayer" />
</object>

参考サイトはこちら
http://glasses-factory.net/2008/11/crossdomain-ssl.html

Posted at 10:52 PM | Comments (0)

AS3 : Loaderオブジェクトでロードしたswfの変数を参照する

April 23, 2009

//loader
public var ldrobj : Loader;
var urImage : URLRequest;
var info : LoaderInfo;
var contents_url : String;//コンテンツアドレス

var subcontents:*;

ldrobj = new Loader();
urImage = new URLRequest(contents_url);
ldrobj.load(urImage);
this.addChild(ldrobj);

// ローダーインフォを取得
info = ldrobj.contentLoaderInfo;
info.addEventListener (Event.OPEN,LoaderInfoOpenFunc);
info.addEventListener(ProgressEvent.PROGRESS, LoadProgress);
info.addEventListener(Event.COMPLETE, loaded_INFO);

//-----[読み込み開始イベントの処理]
public function LoaderInfoOpenFunc(event:Event){
trace ("読み込みを開始した");
}
//-----[読み込み中イベントの処理]
public function LoadProgress(event:ProgressEvent):void
{
trace("progress = " + Math.round((event.bytesLoaded*100)/(event.bytesTotal)));
}
//-----[読み込み完了イベントの処理]
public function loaded_INFO(event:Event):void
{
subcontents = ldrobj.content;
subcontents._intbtn();//ロード後に実行したい関数 : _intbtn
〜演出〜
Tweener.addTween(ldrobj, {alpha:1, time:1, transition:"easeInExpo", delay:1});

info.removeEventListener (Event.OPEN,LoaderInfoOpenFunc);
info.removeEventListener(ProgressEvent.PROGRESS, LoadProgress);
info.removeEventListener(Event.COMPLETE, loaded_INFO);
}



subcontents = ldrobj.content;
subcontents._intbtn();//ロード後に実行したい関数 : _intbtn()

この部分。
subcontentsを使ってアクセスすればOKです。

Posted at 09:17 PM | Comments (0)

AS3 : HTMLからSWFにパラメータを受け渡す方法

April 22, 2009

idという名のパラメータを受け渡しする場合
HTML側


<script type="text/javascript" src="swfobject.js"></script>



<div id="flashcontent">

〜代替テキスト〜

</div>

<script type="text/javascript">

var so = new SWFObject("sample.swf", "swfl", "550", "400", "8", "#000000");

so.addVariable("id", getQueryParamValue("id"));

so.write("flashcontent");

</script>



fla側


var tmpParam_obj:Object;

var id_number:String;



tmpParam_obj = loaderInfo.parameters;

id_number = String(tmpParam_obj["id"]);

trace("id_number = "+id_number);

loaderInfo.parametersに格納されるようです。

Posted at 08:50 PM | Comments (0)

AS3 : フルスクリーン時のスクロール

April 21, 2009

Flashでフルスクリーンにした時にあるサイズになったらスクロールを表示したい時。
メインのクラスは


import Scrollarea;

Stage.scaleMode = "noScale";
var stagearea:Scrollarea = new Scrollarea(1000, 550, "flashcontent");


Scrollareaクラスは

package{
import flash.events.MouseEvent;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.external.ExternalInterface;

public class Scrollarea
{
public function Scrollarea(WrapWidth:Number, WrapHeight:Number, IDName:String) {
IDName != undefined ? ExternalInterface.call("setWrapID", IDName) : null;
ExternalInterface.call("setWrapSize", WrapWidth, WrapHeight);
}
public function setWidth(WrapWidth:Number) {
ExternalInterface.call("setWrapWidth", WrapWidth);
}
public function setHeight(WrapHeight:Number) {
ExternalInterface.call("setWrapHeight", WrapHeight);
}
}
}

js


var FlashWidth=0;
var FlashHeight=0;
var WrapID="WrapFlash"

function getBrowserWidth ( ) {
if ( window.innerWidth ) { return window.innerWidth; }
else if ( document.documentElement && document.documentElement.clientWidth != 0 ) { return document.documentElement.clientWidth; }
else if ( document.body ) { return document.body.clientWidth; }
return 0;
}
function getBrowserHeight ( ) {
if ( window.innerHeight ) { return window.innerHeight; }
else if ( document.documentElement && document.documentElement.clientHeight != 0 ) { return document.documentElement.clientHeight; }
else if ( document.body ) { return document.body.clientHeight; }
return 0;
}
function setWrapWidth (WrapWidth) {
FlashWidth=WrapWidth;
setFlaArea();
}
function setWrapHeight (WrapHeight) {
FlashHeight=WrapHeight;
setFlaArea();
}
function setWrapSize (WrapWidth,WrapHeight) {
FlashWidth=WrapWidth;
FlashHeight=WrapHeight;
setFlaArea();
}
function setWrapID (IDName) {
WrapID=IDName;
}
function setFlaArea(){
var WrapFlashElement = document.getElementById(WrapID);
if(getBrowserWidth()>FlashWidth){ WrapFlashElement.style.width = "auto"; }
else{ WrapFlashElement.style.width = FlashWidth+"px"; }
if(getBrowserHeight()>FlashHeight){ WrapFlashElement.style.height = "auto"; }
else{ WrapFlashElement.style.height = FlashHeight+"px"; }
}
window.onresize = setFlaArea;

Posted at 11:50 PM | Comments (0)

AS3 : ColorTransform

April 02, 2009

AS3でカラー設定を変更する方法。


import flash.geom.ColorTransform;
〜省略〜
var color:ColorTransform = new ColorTransform(0.36,1,1,1,64,129,-70,0);
sample.transform.colorTransform = color;

詳細に書くと
redMultiplier:Number (default = 1.0) - [ 0 ~ 1 ]
greenMultiplier:Number (default = 1.0) - [ 0 ~ 1 ]
blueMultiplier:Number (default = 1.0) - [ 0 ~ 1 ]
alphaMultiplier:Number (default = 1.0) - [ 0 ~ 1 ]
redOffset:Number (default = 0) - [-255 ~ 255 ]
greenOffset:Number (default = 0) - [-255 ~ 255 ]
blueOffset:Number (default = 0) - [-255 ~ 255 ]
alphaOffset:Number (default = 0) - [-255 ~ 255 ]

また、 Tweenerのプロパティで利用する場合は


import caurina.transitions.Tweener;
import caurina.transitions.properties.*;
import caurina.transitions.properties.ColorShortcuts;
ColorShortcuts.init();//初期化
〜省略〜
Tweener.addTween(bgSprite, {_color_redMultiplier:1, time:5, delay:10, transition: "linear"});
Tweener.addTween(bgSprite, {_color_redOffset:12, time:5, delay:10, transition: "linear" });
Tweener.addTween(bgSprite, {_color_greenMultiplier:1, time:5, delay:10, transition: "linear" });
Tweener.addTween(bgSprite, {_color_greenOffset:34, time:5, delay:10, transition: "linear" });
Tweener.addTween(bgSprite, {_color_blueMultiplier:1, time:5, delay:10, transition: "linear" });
Tweener.addTween(bgSprite, {_color_blueOffset:56, time:5, delay:10, transition: "linear" });

Posted at 02:20 AM | Comments (0)