Flashで画面全体にインスタンスを降らす
Flashで作成した画面内に作成したインスタンスを降らすという
アニメーションを作成しました。
■as3
---------------------------------------------------------------
stage.scaleMode = StageScaleMode.NO_SCALE;
var w:int = stage.stageWidth;
var h:int = stage.stageHeight;
stage.addEventListener(Event.RESIZE, function(event){
w = stage.stageWidth;
h = stage.stageHeight;
});
var num:int = 10;
var list:Array = [];
for (var i:int = 0; i<num; i++) {
var mc:Mc = new Mc();
mc.x = Math.random()*w;
mc.y = -30;
addChildAt(mc, 1);
list.push(mc);
list[i].vx = Math.random()-0.5;
}
addEventListener(Event.ENTER_FRAME,parallax);
function parallax(e:Event):void {
for (i=0; i<num; i++) {
if(list[i].x != 0){
list[i].x += list[i].vx/(0.03*i+1);
list[i].y += 5/(0.03*i+1);
}else{
list[i].y += h;
}
if (list[i].y>h) {
list[i].x = Math.random()*w;
list[i].y = 0;
}
}
}
こちらはFlashをパブリッシュしてswfだけで見れば、
問題なく、y:-30からパラパラ降り注いだものになります。
下まで行けば上にもどって繰り返します。
ただ、下記のようにして、
html上に可変状態で挿入すると
中途半端な位置から降り注いでしまいます。
■html/css
--------------------------------------------------------------
<style type="text/css">
<!--
#apDiv1 {
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
z-index:1000;
background: #999900;
}
-->
</style>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
</head>
<body>
<div id="apDiv1">
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','100%','height','100%','src','motion','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','motion','wmode','transparent'); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="100%" height="100%">
<param name="movie" value="motion.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent">
<embed wmode="transparent" src="motion.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100%" height="100%"></embed>
</object>
</noscript></div>
ちゃんと全画面にswfは広がっているようなのですが・・・
何か考えられる原因はございますでしょうか。
よろしくお願いいたします。
お礼
出来ました!!!! 「配列アクセス演算子」と言う勉強するためのキーワードも頂き大変参考になりました! 今「配列アクセス演算子」に関する解説ページ、レクチャーページ等を読んで詳しく調べているところです。 初心者の私が、また一歩進めました。 ありがとうございます!!!!