forked from: 超初心者です。動きません、どうしたらよいでしょうか?
forked from 超初心者です。動きません、どうしたらよいでしょうか? (diff: 46)
ActionScript3.0超初心者です。 とりあえず本を丸写しして 試そうとしたのですが、 どうしても動きません。 大変初歩的な質問で申し訳ないのですが、 よろしくお願いいたします。 graphicsはscaleを持たないです。Spriteのscaleを変化させます。 Spriteのscale変化は(x,y)=(0,0)を中心とするので、現在のステージの上に レイヤー(layer)を置いて、そこに円をかき、layerのscaleをいじることにします。 もとのコードとは多少目的が違いますが、 マウスポインタを中心に円が広がるようにするもんだと勝手に思って書きなおします。
ActionScript3 source code
/**
* Copyright uwi ( http://wonderfl.net/user/uwi )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/v2Xm
*/
// forked from kikyo929's 超初心者です。動きません、どうしたらよいでしょうか?
// forked from kikyo929's forked from: forked from: flash on 2010-1-23
// forked from kikyo929's forked from: flash on 2010-1-23
// forked from kikyo929's flash on 2010-1-23
//ActionScript3.0超初心者です。
//とりあえず本を丸写しして
//試そうとしたのですが、
//どうしても動きません。
//大変初歩的な質問で申し訳ないのですが、
//よろしくお願いいたします。
// graphicsはscaleを持たないです。Spriteのscaleを変化させます。
// Spriteのscale変化は(x,y)=(0,0)を中心とするので、現在のステージの上に
// レイヤー(layer)を置いて、そこに円をかき、layerのscaleをいじることにします。
// もとのコードとは多少目的が違いますが、
// マウスポインタを中心に円が広がるようにするもんだと勝手に思って書きなおします。
package {
//ライブラリにimport
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class FlashTest extends Sprite {
public function FlashTest() {
var layer:Sprite = new Sprite();
layer.graphics.lineStyle(2,0xff0000);
layer.graphics.beginFill(0x00ff00);
layer.graphics.drawCircle(0,0,50);
layer.graphics.endFill();
// layer.x = 200;
// layer.y = 200;
addChild(layer);
//プロパティの宣言
var ookisa:Number;
var timer:Timer;
//1秒間に30回繰り返されるメソッド
// ookisaをあくまでローカル変数として置くのならloopをこんな感じで無名関数として
// 定義するしか方法がないです。
var loop:Function = function(event:TimerEvent):void{
//ookisaを毎回0.05ずつ増やす(10より大きくなったら0にする)
ookisa += 0.05;
if(ookisa > 10) ookisa = 0;
//ステージ上のgraphicsをマウスの位置にする
layer.x = stage.mouseX;
layer.y = stage.mouseY;
layer.scaleX = layer.scaleY = ookisa;
};
//初期化メソッド
//プロパティ ookisaを0にする
ookisa = 0;
//タイマーの初期化と開始
timer = new Timer(33);
timer.addEventListener(TimerEvent.TIMER,loop);
timer.start();
}
}
}