// Sample.as というファイル名で、ソースコードを作成する
//(エンコードの種類を Unicode(UTF-8) として作成すれば日本語文字も可)
//==============================================================================
class Sample
{
var depth=0; // 深度
var x=0; // 表示位置(x座標)
var y=0; // 表示位置(y座標)
var w=0; // 表示サイズ(幅)
var h=0; // 表示サイズ(高さ)
static function main()
{
var sample:Sample=new Sample(_root);
}
function Sample()
{
// ■テキストフィールド-------------------------------------------------
depth=1; // 深度
x=10; // 表示位置(x座標)
y=10; // 表示位置(y座標)
w=200; // 表示サイズ(幅)
h=25; // 表示サイズ(高さ)
var textName0=_root.createTextField("textName0", depth, x, y, w, h);
textName0.text="Hello World";
// オプションとして
textName0.border=true; // 枠の有無(true:有 false:無)
textName0.borderColor="0xff0000"; // 枠の色
textName0.background=true; // 背景色の有無(true:有 false:無)
textName0.backgroundColor="0x00ff00"; // 背景色
// フォントを指定するには
var tf=new TextFormat("Times Roman", 16, 0x0000ff, true, true, true); //(フォント,サイズ,色,太字,斜体,下線)
tf.align="center"; // 表示位置の指定
textName0.text="HELLOW WORLD";
textName0.setTextFormat(tf); //(注:このセットの前にテキストを書かないと書式が反映されない)
// あるいは、次のように個別に指定することもできる
depth=2; // 深度
var textName1=_root.createTextField("textName1", depth, 10, 140, 100, 80);
textName1.text="テキストフィールド内で複数行に表示されています";
textName1._x=10; // 表示位置(x座標)
textName1._y=140; // 表示位置(y座標)
textName1._width=100; // 表示サイズ(幅)
textName1._height=80; // 表示サイズ(幅)
textName1.textColor=0xff0000; // テキストの色
textName1.multiline=true; // 複数行表示
textName1.wordWrap=true; // 行の末尾に収まらない単語のとき、単語を丸ごと次の行に送る
var tf1=new TextFormat(); // フォントサイズの指定
tf1.size=14;
textName1.setTextFormat(tf1);
// 作成したテキストフィールドを削除するには、 textName0.removeTextField(); とすればよい。
// ■図形(直線、曲線、多角形、円)を描く-------------------------------
// 2点 A(x1, y1)、 B(x2, y2) を結ぶ直線を描く
depth=3; // 深度
var figName0=_root.createEmptyMovieClip("figName0", depth);
figName0.lineStyle(1, 0xff0000, 100); //(線の太さ, 線色, 透明度)
figName0.moveTo(20, 50); // A点の座標(x1, y1)
figName0.lineTo(120, 80); // B点の座標(x2, y2)
figName0.endFill();
// 2点 A(x1, y1)、C(x3, y3) を結び、途中、点B(x2, y2) に近づいた曲線を描く
depth=4; // 深度
var figName1=_root.createEmptyMovieClip("figName1", depth);
figName1.lineStyle(1, 0x00ff00, 100); //(線の太さ, 線色, 透明度)
figName1.moveTo(140, 50); // A点の座標(x1, y1)
figName1.curveTo(200, 110, 250, 80); // B点、C点の座標 (x2, y2, x3, y3)
figName1.endFill();
// 3点 A(x1, y1)、 B(x2, y2)、 C(x3, y3) を結ぶ多角形を描く
depth=5; // 深度
var figName2=_root.createEmptyMovieClip("figName2", depth);
figName2.lineStyle(1, 0x0044ff, 100); //(線の太さ, 線色, 透明度)
figName2.moveTo(270, 30); // A点の座標
figName2.lineTo(400, 110); // B点の座標
figName2.lineTo(250, 120); // C点の座標
figName2.lineTo(270, 30); // A点の座標
figName2.endFill();
// 3点 A(x1, y1)、 B(x2, y2)、 C(x3, y3) を結ぶ多角形を描く (内部を塗りつぶす)
depth=6; // 深度
var figName3=_root.createEmptyMovieClip("figName3", depth);
figName3.lineStyle(1, 0x0044ff, 100); //(線の太さ, 線色, 透明度)
figName3.beginFill(0xff00ff, 100); //(塗りつぶす色, 透明度)
figName3.moveTo(430, 30); // A点の座標
figName3.lineTo(560, 110); // B点の座標
figName3.lineTo(410, 120); // C点の座標
figName3.lineTo(430, 30); // A点の座標
figName3.endFill();
// 円を描く(N角形で、Nの数を大きくすればよい)
depth=7; // 深度
var N=48; // N角形(Nの値を大きくすれば滑らかな円になる)
var cx=640; // 中心のx座標径
var cy=80; // 中心のy座標径
var r=50; // 半径
var xx=new Array();
var yy=new Array();
for(var i=0; i< N; i++)
{
xx[i]=cx+r*Math.cos(Math.PI/180*360/N*i);
yy[i]=cy+r*Math.sin(Math.PI/180*360/N*i);
}
var figName4=_root.createEmptyMovieClip("figName4", depth);
figName4.lineStyle(1, 0x0000ff, 100); //(線の太さ, 線色, 透明度)
figName4.moveTo(xx[0], yy[0]);
for(var i=1; i< N; i++)
{
figName4.lineTo(xx[i], yy[i]);
}
figName4.lineTo(xx[0], yy[0]);
figName4.endFill();
// 描いた絵を消すには、 figName4.clear(); とすれば、描いた円が消える。
// 作成したムービークリップを削除するには、 _root.figName4.removeMovieClip(); とすればよい。
// ■イメージ(図、写真)を外部ファイルから読み込んで配置する(sample.jpg を読み込んで配置する。)---
// (sample.jpg を自分で用意しておくこと)
depth=10; // 深度
var image0=_root.createEmptyMovieClip("image0", depth);
image0.loadMovie("sample.jpg");
image0._x=150; // 配置する image0 の左上のx座標
image0._y=150; // 配置する image0 の左上のy座標
// オプションとして
image0._xscale=20; // 横倍率(%)
image0._yscale=20; // 縦倍率(%)
image0._rotation=30; // 回転角(度)
image0._alpha=100; // 透明度(0〜100、0:完全透明になり表示されない)
// ■サウンドを外部ファイルから読み込んで鳴らす(sample.mp3 を読み込んで鳴らす。)----------
// (sample.mp3 を自分で用意しておくこと)
_root.sound0=new Sound(_root);
_root.sound0.onLoad=function(success)
{
if(success) // ロード結果の判定
{
_root.sound0.start(); // サウンド再生
_root.sound0.setVolume(100); // 音量(デフォルトは 100)
}
}
_root.sound0.loadSound("sample.mp3", false); // サウンドファイルのロード
// ■ マウスに反応させる(お絵かきソフトを作ってみよう)---------------------------------
depth=11;
var mouse_b:Boolean;
var figName8=_root.createEmptyMovieClip("figName8", depth);
figName8.lineStyle(5, 0xFF0000, 100);
_root.onMouseDown=function() // マウスボタンを押した時の動作
{
mouse_b=true;
figName8.moveTo(_root._xmouse, _root._ymouse);
}
_root.onMouseUp=function() // マウスボタンを離した時の動作
{
mouse_b = false;
}
_root.onMouseMove=function() // マウスボタンを動かした時の動作
{
if(!mouse_b){return;}
figName8.lineTo(_root._xmouse, _root._ymouse);
}
// ■ キーに反応させる(入力した文字を表示させてみよう)-------------------------------
depth=12;
var textName2=_root.createTextField("textName2", depth, 100, 420, 50, 25);
_root.key1=new Object();
_root.key1.onKeyDown=function()
{
var Ip=String.fromCharCode(Key.getAscii());
textName2.text=Ip;
}
Key.addListener(_root.key1); // key1 をイベントリスナーに登録する
// ■ボタンの作成---------------------------------------------------
var flagBtn:Boolean;
depth=13;
var btn=_root.createEmptyMovieClip("btn", depth); // ボタン
var tf2=new TextFormat("", 14, 0x000000, false, false, false);
tf2.align="center";
depth=14; // 深度
x=550; // 表示位置(x座標)
y=150; // 表示位置(y座標)
w=40; // 表示サイズ(幅)
h=25; // 表示サイズ(高さ)
btn.createTextField("textName3", depth, x, y, w, h);
btn.textName3.text="Push!";
btn.textName3.setTextFormat(tf2);
btn.textName3.border=true; // 枠の有無(true:有 false:無)
btn.textName3.borderColor="0x0000ff"; // 枠の色
btn.textName3.background=true; // 背景色の有無(true:有 false:無)
btn.textName3.backgroundColor="0xffff00"; // 背景色
btn.onPress=function()
{
// (ここに、このボタンの押したとき実行することを書く。以下は、一例である。)=====
var depth=15;
var textName4=_root.createTextField("textName4", depth, 450, 150, 100, 25);
if(!flagBtn)
{
textName4.text="Hello!";
textName4.setTextFormat(tf2);
flagBtn=true;
}
else
{
textName4.text="World!";
textName4.setTextFormat(tf2);
flagBtn=false;
}
//==============================================================================
return;
}
// ■現在の年月日を取得する-----------------------------------------------
var today=new Date();
var year=today.getFullYear(); // 年の取得
var month=today.getMonth()+1; // 月の取得
var day=today.getDate(); // 日の取得
var wday=today.getDay(); // 曜日の取得
var weeks=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
var week=weeks[wday];
depth=18; // 深度
x=500;
y=190;
w=300;
h=40;
var textName7=_root.createTextField("textName7", depth, x, y, w, h);
var tf3=new TextFormat("Times Roman", 24, 0xaa00aa, false, false, false);
textName7.text=month+"/"+day+"/"+year+"/"+week;
textName7.setTextFormat(tf3);
// ■現在の時刻を取得する-----------------------------------------------
var today2=new Date();
var hour=today2.getHours(); // 時間の取得
var min=today2.getMinutes(); // 分の取得
var sec=today2.getSeconds(); // 秒の取得
depth=20; // 深度
x=500; // 表示位置(x座標)
y=220; // 表示位置(y座標)
w=300; // 表示サイズ(幅)
h=40; // 表示サイズ(高さ)
var textName8=_root.createTextField("textName8", depth, x, y, w, h);
var tf4=new TextFormat("Times Roman", 24, 0x0000aa, false, false, false);
textName8.text=hour+" : "+min+" : "+sec;
textName8.setTextFormat(tf4);
// ■外部ファイルからデータを読み込む--------------------------------------
var depth2=22; // 深度
var tex=new Array();
System.useCodepage=true; // 日本語も扱えるようにする
var dataF=new LoadVars();
dataF.onLoad=function(success)
{
if(success) // ロード結果の判定
{
tex[0]=dataF.data0; // data.datファイルの data0 の内容を tex[0] とする。
tex[1]=dataF.data1; // data.datファイルの data1 の内容を tex[1] とする。
tex[2]=dataF.data2; // data.datファイルの data2 の内容を tex[2] とする。
tex[3]=parseFloat(dataF.data3); // data.datファイルの data3 の内容(文字)を数値に変換し tex[3] とする。
var textName5=_root.createTextField("textName5", depth2, 20, 320, 300, 25);
textName5.text=tex[0]+", "+tex[1]+", "+tex[2]+", "+tex[3];
}
}
dataF.load("data.dat"); // ファイルのロード
// ■一定時間待って動作させる(文字を移動させてみよう)---------------------------------
var depth3=23; // 深度
var time=0;
var waiting=setInterval(function()
{
//(ここに一定時間後に実行することを記述する。以下は一例である。)=====
var textName9=_root.createTextField("textName9", depth3, time, 300, 400, 20);
textName9.text=tex[0]+", "+tex[1]+", "+tex[2]+", "+tex[3];
time++;
if(time>100){time=0;}
//=====================================================================
clearInterval(_root.waiting);
}, 30) // この数値の単位は、ミリ秒(1/1000秒)。 この値で待ち時間を指定する。
// ■自分で関数を定義し使用する--------------------------------------------
myFun();
}
function myFun() // 自分で関数を定義する
{
depth=30; // 深度
x=100; // 表示位置(x座標)
y=250; // 表示位置(y座標)
w=400; // 表示サイズ(幅)
h=40; // 表示サイズ(高さ)
var textName20=_root.createTextField("textName20", depth, x, y, w, h);
var tf5=new TextFormat("Times Roman", 32, 0xff0000, true, false, false);
textName20.text="Hello World. Thank You.";
textName20.setTextFormat(tf5);
return;
}
}
|