6.画像を動かしてみる1

いろいろ動かしてみる

なんとか外部に置いた画像を読み込むことはできるようになりました。

となると、次はそれをいろいろと動かしてみようじゃないか!

ということで、通常よく使う座標を動かしたり、回転させたり、アルファの値をいじったりしてみました。

すでに5.外部画像の読み込み2のところでx座標を変化させてます。

これをいじればいろいろとテストできたりします。

x座標をを表す_xがxでよくなった、とかそういうのを気をつければどうということない、と思っていじってたのですが、、、

回転させてみたら

下のスクリプトは、読み込んだ画像をクリックするたびに30度回転する、というものです。

//test.as 画像制御テスト1
package {
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;

public class test extends Sprite {//クラス宣言

private var message:messagebox;

private var img:Loader;

public function test(){//コンストラクタ

message = new messagebox();
addChild(message.container);

var tURL:String = "testimg.jpg";
var urImage:URLRequest = new URLRequest(tURL);
img = new Loader();
img.load(urImage);

img.x=100;
img.y=100;

addChild(img);

addEventListener(Event.ENTER_FRAME, loading);

img.addEventListener(MouseEvent.CLICK, onClick);//■イベントリスナー設定
}

private function loading(event:Event):void {//画像読み込み
message.show("READING-"+img.contentLoaderInfo.bytesLoaded+
"/"+img.contentLoaderInfo.bytesTotal);
var rate:Number=img.contentLoaderInfo.bytesLoaded/
img.contentLoaderInfo.bytesTotal;
if ( (rate >= 1)&&(img.contentLoaderInfo.bytesTotal > 100) ){
message.show("COMPLETE!");
removeEventListener( Event.ENTER_FRAME, loading );
}
}
private function onClick(evt:MouseEvent):void {//■画像をクリックしたら実行される関数
img.rotation+=30;
message.show("CLICK!・・・角度="+img.rotation+"度");
}
}
}

■部分あたりだけが少し変わったくらいでしょうか。

実行結果を見てみる

ん?あっそうか。読み込んだ画像を回転させる時、左上が回転の中心になるんだな。

ただ、後々のことを考えると、画像の中心と回転の中心が一致してる方が都合がいいんです、いや私の勝手な都合なんですけどね(^^;

→6.画像を動かしてみる2

5.外部画像の読み込み4←