ユーザーがウィンドウサイズを変えたとき、そのサイズに合わせるようにステージサイズを変更したい場合
stage.stageAlign = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
private var left:Number = 0;
private var top:Number = 0;
private var right:Number = stage.stageWidth;
private var bottom:Number = stage.stageHeight;
このようにムービーの上(top)、左(left)の境界は0で、右(right)と下(bottom)の境界はstage.stageWidthとstage.stageHeightです。必要なときにこれらを変数にいれておくことができます。
import flash.display.StageAlign;
import flash.display.StageScaleMode;
の読み込みも忘れずにインポートする必要がある。
web,direction,planning,graphicdesign
2009年10月21日水曜日
2009年10月20日火曜日
ActionScript KeyboardEventについて、
<覚え書き>
addEventListenerするときは、stageにしないとキーボードの操作はできないですよー
addEventListenerするときは、stageにしないとキーボードの操作はできないですよー
ラベル:
actionscript3.0,
basic
ActionScript マウスを追いかけるやじるし
ActionScript スクリプトで矢印を描く
を読み込み、矢印をマウスをおいかけるようにする。
FollowMouse.as
package {
import flash.display.Sprite;
import flash.events.Event;
public class FollowMouse extends Sprite{
private var arrow:Arrow;
private var speed:Number = 10;
public function FollowMouse():void{
init();
}
private function init():void{
arrow = new Arrow();
addChild(arrow);
addEventListener(Event.ENTER_FRAME,onEnterFrameHandler);
}
private function onEnterFrameHandler(event:Event):void{
var dx:Number = mouseX - arrow.x;
var dy:Number = mouseY - arrow.y;
var angle:Number = Math.atan2(dy,dx);
arrow.rotation = angle*180/Math.PI;
var vx:Number = Math.cos(angle)*speed;
var vy:Number = Math.sin(angle)*speed;
arrow.x += vx;
arrow.y += vy;
}
}
}
を読み込み、矢印をマウスをおいかけるようにする。
FollowMouse.as
package {
import flash.display.Sprite;
import flash.events.Event;
public class FollowMouse extends Sprite{
private var arrow:Arrow;
private var speed:Number = 10;
public function FollowMouse():void{
init();
}
private function init():void{
arrow = new Arrow();
addChild(arrow);
addEventListener(Event.ENTER_FRAME,onEnterFrameHandler);
}
private function onEnterFrameHandler(event:Event):void{
var dx:Number = mouseX - arrow.x;
var dy:Number = mouseY - arrow.y;
var angle:Number = Math.atan2(dy,dx);
arrow.rotation = angle*180/Math.PI;
var vx:Number = Math.cos(angle)*speed;
var vy:Number = Math.sin(angle)*speed;
arrow.x += vx;
arrow.y += vy;
}
}
}
ラベル:
actionscript3.0,
basic
2009年10月12日月曜日
ActionScript 三角関数の基本的な公式
■基本的な三角関数の計算
角度のサイン = 対辺/斜辺
角度のコサイン = 隣辺/斜辺
角度のタンジェント = 対辺/隣辺
■ラジアンから度へ、度からラジアンへの変換
ラジアン = 度 * Math.PI / 180
度 = ラジアン * 180 / Math.PI
■マウスの方向への回転
// mouseXやmouseYは任意の点のx,yに置き換える
dx = mouseX - sprite.x;
dy = mouseY - sprite.y;
sprite.rotation = Math.atan2(dy.dx)* 180 / Math.PI;
■波の作成
//valueはスプライトやムービークリップのx,yにその他のプロパティに割当
public function onEnterFrame(event:Event){
value = center + Math.sin(angle) * range;
angle += speed;
}
■円の作成
//Xposition,Ypositionをスプライトやムービークリップのxとyに割りあて
public function onEnterFrame(event:Event){
Xposition = centerX + Math.cos(angle)*radius;
Yposition = centerY + Math.sin(angle)*radius;
angle += speed;
}
■2点間の距離の取得
dx = x2 - x1;
dy = y2 - y1;
dist = Math.sqrt(dx*dx + dy*dy);
角度のサイン = 対辺/斜辺
角度のコサイン = 隣辺/斜辺
角度のタンジェント = 対辺/隣辺
■ラジアンから度へ、度からラジアンへの変換
ラジアン = 度 * Math.PI / 180
度 = ラジアン * 180 / Math.PI
■マウスの方向への回転
// mouseXやmouseYは任意の点のx,yに置き換える
dx = mouseX - sprite.x;
dy = mouseY - sprite.y;
sprite.rotation = Math.atan2(dy.dx)* 180 / Math.PI;
■波の作成
//valueはスプライトやムービークリップのx,yにその他のプロパティに割当
public function onEnterFrame(event:Event){
value = center + Math.sin(angle) * range;
angle += speed;
}
■円の作成
//Xposition,Ypositionをスプライトやムービークリップのxとyに割りあて
public function onEnterFrame(event:Event){
Xposition = centerX + Math.cos(angle)*radius;
Yposition = centerY + Math.sin(angle)*radius;
angle += speed;
}
■2点間の距離の取得
dx = x2 - x1;
dy = y2 - y1;
dist = Math.sqrt(dx*dx + dy*dy);
ラベル:
actionscript3.0,
basic
2009年10月10日土曜日
ActionScript サイン波
0のサインは0であり、90度(π/2ラジアン)のサインは1。
180度(πラジアン)のサインは0に戻り、270度(3/2π)のサインは-1、
360度(2π)のサインは再び0に戻ります。
例)
for(var angle:Number = 0; angle < Math.PI*2; angle +=0.1){
trace(Math.sin(angle));
}
この例では、変数angleは0の値でスタートし、Math.PI*2の値になるまで0.1ずつ増えていきます。
出力された値は0ではじまり、その後増えて1に近づき、そしてまた-1に近づくまでへっていき、再び0近くまで増えていきます。
180度(πラジアン)のサインは0に戻り、270度(3/2π)のサインは-1、
360度(2π)のサインは再び0に戻ります。
例)
for(var angle:Number = 0; angle < Math.PI*2; angle +=0.1){
trace(Math.sin(angle));
}
この例では、変数angleは0の値でスタートし、Math.PI*2の値になるまで0.1ずつ増えていきます。
出力された値は0ではじまり、その後増えて1に近づき、そしてまた-1に近づくまでへっていき、再び0近くまで増えていきます。
ラベル:
actionscript3.0,
basic
2009年10月7日水曜日
ActionScript スクリプトで矢印を描く
いつかなにかのために使うときがあったらのためのメモです。
package{
import flash.display.Sprite;
public class Arrow extends Sprite{
public function Arrow(){
init();
}
public function init():void{
graphics.lineStyle(1,0,1);
graphics.beginFill(0xffff00);
graphics.moveTo(-50,-25);
graphics.lineTo(0,-25);
graphics.lineTo(0,-50);
graphics.lineTo(50,0);
graphics.lineTo(0,50);
graphics.lineTo(0,25);
graphics.lineTo(-50,25);
graphics.lineTo(-50,-25);
graphics.endFill();
}
}
}
package{
import flash.display.Sprite;
public class Arrow extends Sprite{
public function Arrow(){
init();
}
public function init():void{
graphics.lineStyle(1,0,1);
graphics.beginFill(0xffff00);
graphics.moveTo(-50,-25);
graphics.lineTo(0,-25);
graphics.lineTo(0,-50);
graphics.lineTo(50,0);
graphics.lineTo(0,50);
graphics.lineTo(0,25);
graphics.lineTo(-50,25);
graphics.lineTo(-50,-25);
graphics.endFill();
}
}
}
ラベル:
actionscript3.0,
basic
登録:
投稿 (Atom)