More Related Content
More from elephancube (20)
150420 flash005 forループと関数
- 2. © 株式会社エレファンキューブ
目次
1. 前回の補足:変数の型 Boolean
2. ループ処理の基本:for
3. forと配列Array
4. forとオブジェクトObject
5. 関数とは
6. 引数と戻り値
7. 関数をつくってみる
8. 例:2ケタのゼロサプライ
9. 例:表示非表示きりかえ
10. 例:配列の中から探す
11. 関数までわかれば、なんでもできるぞ!
12. 次回からの予告
2
- 3. © 株式会社エレファンキューブ
1. 前回の補足:変数の型 Boolean
• 重要な型を1つ忘れてました。真偽値 Boolean型
var clickFlg:Boolean = true;
• trueまたはfalse(1または0)
• true判定の場合、if文で省略できる
if(clickFlg==true) を if(clickFlg) と略せる
3
- 4. © 株式会社エレファンキューブ
2. ループ処理の基本:for
• プログラムの得意なこと:同じ処理を高速に繰り返す
• 有限の繰り返しを行うのがforループ、他にwhileなどがあるが今回は略
• 基本構文
for(var cnt:uint=0;cnt<10;cnt++){
//繰り返し内容
trace(cnt);
}
4
1 2
3
4
①初期化
②評価 trueから③へ falseなら抜ける
③ループ処理実行内容
④処理実行後の処理
- 5. © 株式会社エレファンキューブ
3. forと配列Array
• 配列の長さはlengthプロパティ
var myArr:Array = new Array();
myArr = [“あ”,”い”,”う”,”え”,”お”]
for(var cnt:uint=0;cnt<myArr.length;cnt++){
//繰り返し内容
trace(myArr[cnt]);
}
5
- 6. © 株式会社エレファンキューブ
4. forとオブジェクトObject
• オブジェクトのプロパティは、for~inで取り出せる
var myObj:Object = new Object();
myObj.place = “東京”;
myObj.weather = “晴れ”;
for(var str:String in myObj){
//繰り返し内容
trace(myObj[str]);
}
6
- 9. © 株式会社エレファンキューブ
7. 関数をつくってみる
• 関数:function
function 関数名 (引数) :戻り値の型 {
//処理
return 戻り値
}
• 例:二乗の値を返す
function getSquare(_num:Number):Number{
var squareNum = Math.pow(_num,2);
return squareNum;
}
• 呼び出し var a = getSquare(3);
9
• 関数の中で宣言した変数は、
関数の中だけで使える
(ローカル変数)
• 関数の外で宣言した変数も
使える(グローバル変数)
- 10. © 株式会社エレファンキューブ
8. 例:2ケタのゼロサプライ
• 時刻表示 03:05と表示したい
• 数値 3を渡したら、03 という文字列を返す
function zeroSup(_num:Number):String{
var out;
if(_num<10){
out = “0” + String(_num);
}else{
out = String(_num);
}
return out;
}
10
- 11. © 株式会社エレファンキューブ
9. 例:表示非表示を切り替える
• ボタンを押したら、ムービークリップの表示・非表示を切り替えたい
function viewStitcher(_mc:MovieClip):void{
if(_mc.visible){
_mc.visible = false;
}else{
_mc.visible = true;
}
}
11
• 引数にムービークリップを
渡す。
• 戻り値なしは、void
- 12. © 株式会社エレファンキューブ
10. 例:配列の中から探す
• 配列の中から、特定の値があるかを検索する
見つかったら、その配列番号を返す、なかったら-1を返す。
function findVal(_val:*,_arr:Array):Number{
var retnum = -1;
for(var cnt=0;cnt<_arr.length;cnt++){
if(_arr[cnt]==_val){
retnum = cnt;
break;
}
}
return retnum;
}
12
• break; で、forループを抜ける
- 14. © 株式会社エレファンキューブ
12. 次回からの予告
• 「どう設計するか」を実例でみせていきます。
• プログラムの1行1行は自分で調べればよいので、なぜそう設計したの
かを学んでください。
• テーマ
・ノベルゲーム
・クイズアプリ
14
• 性格判断アプリ。
ある程度ランダム要素入れると、うまくごまかせそう。
• おこづかい帳
一日の予算や、個々の食費などの予算を決めておいていくら使った
かを入力していくと予算を超過した時点で警告が出る、みたいな。
• ○○の数当てゲーム
モンスターがあらわれるのと数当てゲームを応用です。デフォルメ
した何かの地図(ここでは東京23区のデフォルメ地図)を背景にし
て、新宿の都庁にアイコンが入ると「東京都の人口は??」、「面積
はいくつ?」、上野動物園に入ると、「動物は全部で何匹?」、「西
郷さんは生きてたら何歳?」などその地域ネタにあわせた数字ネタ
クイズを出していくアプリ。