大分前に作ってボツになったflashを使ってもう一回プレゼンテーションをするということで再度スクリプトを書いてました。
で、attachMovie()なんですけどなぜかアタッチしたMCが小さくなってしまう。
何故だ?中心点の違いか?
など思ってみてふとプロパティを見てみると高さ、大きさを変更している!
これか!という事でアタッチする先を変えてみると無事表示。
this.attachMovie()とかやった時のthisは何を指しているかが問題だったみたいです。
_rootはいいけどthisとか_parentとか時々こんがります。
そういう事で今回は
attachMovie()と指定なしで設定すると無事表示。
些細な事で時間を食ったわい。
FuseKitを使いながら今まで知らんかった。
と、いうのもプロパティを続けて書いてよかったんだ。
_x,_y見たいな書き方で。
そんな訳でメモ。
fuse_KCS.push({target:top_logo, _x:945, _y:25, seconds:1, ease:"linear"})
で_xプロパティと_yプロパティを一行でかける。
と、いう事で以前書いたTweenerの記事は大間違い。
FuseKitも一行でかけました。
反省。
と、いうか僕の記事は往々にして間違いがあります。
勉強不足を晒しますが、ドMな僕は晒します。
恥かしいけど。
トップイメージを何となくas3.0を使いながらやってて思ったんですけど…
簡単なムービーに使う必要なんてないんじゃね?
フツーのアニメでちょっとボタン機能がついてるだけだし、エフェクトも知れてるし。
…やりなおそ
配列を扱う関数ってよくあるんだけど(push(),split()など)配列の中身をランダムにしてくれるのってありませんよね。
Arrrandom()とかいう一言の関数って。
そんな訳で実際やってみた。
まず1から10まで入った配列を作ってみて・・・
myArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// 要素をランダムに並べ換える
for (i=0; i<myArr.length; i++) {
ran_num = Math.floor(Math.random()*(myArr.length-i));
taihi = myArr[ran_num+i];
myArr[ran_num+i] = myArr[i];
myArr[i] = taihi;
trace(taihi);
}
ってなかんじ。
一回配列の箱の中身を出してそれをランダムにして入れなおす。
これで1から10まで繰り返すので[1,4,2,3,3,4,・・・]みたいにはならない。
忘れないようにメモ。
ブラウザをどれだけ大きくしても画像が荒れないフルflashのサイトを見て「これってどないしてるんやろ?」と思いattachBitmapってものを使ってみて実際に比較してみた。
まず背景画像をそのまま配置して書き出す。
背景画像は1024×680でステージに配置して大きさを2倍にしてみて書き出すと800KBぐらい。
これだけで十分重たい。
そこでattachBitmapを使用してビットマップデータをmatrixで拡大してみると…
結果は0KBでした。
ただ単に背景画像を配置するだけならloadMovieでいいんだけどこれを大きくしたり色チャンネルを変えたりする時はattachBitmapを使うらしい。。。
以下、ソース。
import flash.display.*;
import flash.geom.*;
temp_mc._quality = "BEST";
Big_img();
function Big_img():Void {
var MC:MovieClip = photo_mc;
this.createEmptyMovieClip("temp_mc",100);
temp_mc.onEnterFrame = function() {
var mtx:Matrix = new Matrix();
var bmpData:BitmapData = new BitmapData(2048, 1360, false);
this.attachBitmap(bmpData,100,"auto",true);
mtx.scale(2,2);
bmpData.draw(MC,mtx);
};
}