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

More Related Content

More from elephancube

Adobe Flash Player 終了に伴うコンテンツ変換の必要性
Adobe Flash Player 終了に伴うコンテンツ変換の必要性Adobe Flash Player 終了に伴うコンテンツ変換の必要性
Adobe Flash Player 終了に伴うコンテンツ変換の必要性
elephancube
 
160412 html001 html概要編
160412 html001 html概要編160412 html001 html概要編
160412 html001 html概要編
elephancube
 
160407 cordova勉強会
160407 cordova勉強会160407 cordova勉強会
160407 cordova勉強会
elephancube
 
150908 math004 関数その2
150908 math004 関数その2150908 math004 関数その2
150908 math004 関数その2
elephancube
 
150901 math003 関数その1
150901 math003 関数その1150901 math003 関数その1
150901 math003 関数その1
elephancube
 
150818 math001 座標
150818 math001 座標150818 math001 座標
150818 math001 座標
elephancube
 
150526 flash006 実践1クイズゲーム
150526 flash006 実践1クイズゲーム150526 flash006 実践1クイズゲーム
150526 flash006 実践1クイズゲーム
elephancube
 
イケてるデザインをつくる第一歩
イケてるデザインをつくる第一歩イケてるデザインをつくる第一歩
イケてるデザインをつくる第一歩
elephancube
 
150420 flash004 変数
150420 flash004 変数150420 flash004 変数
150420 flash004 変数elephancube
 
150407 flash003 演習_まとめ
150407 flash003 演習_まとめ150407 flash003 演習_まとめ
150407 flash003 演習_まとめ
elephancube
 
150331 flash003 演習
150331 flash003 演習150331 flash003 演習
150331 flash003 演習
elephancube
 
150324 flash003 条件分岐if文
150324 flash003 条件分岐if文150324 flash003 条件分岐if文
150324 flash003 条件分岐if文
elephancube
 
150317 flash002 flash基礎
150317 flash002 flash基礎150317 flash002 flash基礎
150317 flash002 flash基礎
elephancube
 
150310 flash001 プログラムとは
150310 flash001 プログラムとは150310 flash001 プログラムとは
150310 flash001 プログラムとは
elephancube
 
eラーニング教材制作のツボ 企業内研修編
eラーニング教材制作のツボ 企業内研修編eラーニング教材制作のツボ 企業内研修編
eラーニング教材制作のツボ 企業内研修編
elephancube
 
さわってうごくデジタル教材「AQUAアクア」~デジタルだからできること~
さわってうごくデジタル教材「AQUAアクア」~デジタルだからできること~さわってうごくデジタル教材「AQUAアクア」~デジタルだからできること~
さわってうごくデジタル教材「AQUAアクア」~デジタルだからできること~
elephancube
 
ドリル学習サイト「ドリラー」への問題提供
ドリル学習サイト「ドリラー」への問題提供ドリル学習サイト「ドリラー」への問題提供
ドリル学習サイト「ドリラー」への問題提供
elephancube
 
資格・検定試験対策は、ドリル学習サイト「ドリラー」で決まり!
資格・検定試験対策は、ドリル学習サイト「ドリラー」で決まり!資格・検定試験対策は、ドリル学習サイト「ドリラー」で決まり!
資格・検定試験対策は、ドリル学習サイト「ドリラー」で決まり!
elephancube
 
専門学校様向けeラーニングのご提案
専門学校様向けeラーニングのご提案専門学校様向けeラーニングのご提案
専門学校様向けeラーニングのご提案
elephancube
 
紙の業務マニュアルを効果的な教育ツールに エレファンキューブ
紙の業務マニュアルを効果的な教育ツールに エレファンキューブ紙の業務マニュアルを効果的な教育ツールに エレファンキューブ
紙の業務マニュアルを効果的な教育ツールに エレファンキューブ
elephancube
 

More from elephancube (20)

Adobe Flash Player 終了に伴うコンテンツ変換の必要性
Adobe Flash Player 終了に伴うコンテンツ変換の必要性Adobe Flash Player 終了に伴うコンテンツ変換の必要性
Adobe Flash Player 終了に伴うコンテンツ変換の必要性
 
160412 html001 html概要編
160412 html001 html概要編160412 html001 html概要編
160412 html001 html概要編
 
160407 cordova勉強会
160407 cordova勉強会160407 cordova勉強会
160407 cordova勉強会
 
150908 math004 関数その2
150908 math004 関数その2150908 math004 関数その2
150908 math004 関数その2
 
150901 math003 関数その1
150901 math003 関数その1150901 math003 関数その1
150901 math003 関数その1
 
150818 math001 座標
150818 math001 座標150818 math001 座標
150818 math001 座標
 
150526 flash006 実践1クイズゲーム
150526 flash006 実践1クイズゲーム150526 flash006 実践1クイズゲーム
150526 flash006 実践1クイズゲーム
 
イケてるデザインをつくる第一歩
イケてるデザインをつくる第一歩イケてるデザインをつくる第一歩
イケてるデザインをつくる第一歩
 
150420 flash004 変数
150420 flash004 変数150420 flash004 変数
150420 flash004 変数
 
150407 flash003 演習_まとめ
150407 flash003 演習_まとめ150407 flash003 演習_まとめ
150407 flash003 演習_まとめ
 
150331 flash003 演習
150331 flash003 演習150331 flash003 演習
150331 flash003 演習
 
150324 flash003 条件分岐if文
150324 flash003 条件分岐if文150324 flash003 条件分岐if文
150324 flash003 条件分岐if文
 
150317 flash002 flash基礎
150317 flash002 flash基礎150317 flash002 flash基礎
150317 flash002 flash基礎
 
150310 flash001 プログラムとは
150310 flash001 プログラムとは150310 flash001 プログラムとは
150310 flash001 プログラムとは
 
eラーニング教材制作のツボ 企業内研修編
eラーニング教材制作のツボ 企業内研修編eラーニング教材制作のツボ 企業内研修編
eラーニング教材制作のツボ 企業内研修編
 
さわってうごくデジタル教材「AQUAアクア」~デジタルだからできること~
さわってうごくデジタル教材「AQUAアクア」~デジタルだからできること~さわってうごくデジタル教材「AQUAアクア」~デジタルだからできること~
さわってうごくデジタル教材「AQUAアクア」~デジタルだからできること~
 
ドリル学習サイト「ドリラー」への問題提供
ドリル学習サイト「ドリラー」への問題提供ドリル学習サイト「ドリラー」への問題提供
ドリル学習サイト「ドリラー」への問題提供
 
資格・検定試験対策は、ドリル学習サイト「ドリラー」で決まり!
資格・検定試験対策は、ドリル学習サイト「ドリラー」で決まり!資格・検定試験対策は、ドリル学習サイト「ドリラー」で決まり!
資格・検定試験対策は、ドリル学習サイト「ドリラー」で決まり!
 
専門学校様向けeラーニングのご提案
専門学校様向けeラーニングのご提案専門学校様向けeラーニングのご提案
専門学校様向けeラーニングのご提案
 
紙の業務マニュアルを効果的な教育ツールに エレファンキューブ
紙の業務マニュアルを効果的な教育ツールに エレファンキューブ紙の業務マニュアルを効果的な教育ツールに エレファンキューブ
紙の業務マニュアルを効果的な教育ツールに エレファンキューブ
 

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
  • 7. © 株式会社エレファンキューブ 5. 関数とは • 同じ処理を行うブラックボックスのようなもの 3 → → 9 5 → → 25 • 関数をつくることで効率化できる、バグを防げる、改修工数が下がる 7
  • 8. © 株式会社エレファンキューブ 6. 引数と戻り値 • 3 → → 9 5 → → 25 • 引数:関数に渡す値 ・ムービークリップなどを渡すこともできる ・複数の値を渡せる • 戻り値:結果として返ってくる値 • どちらも“無し”もあり。 8 引数 戻り値
  • 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ループを抜ける
  • 13. © 株式会社エレファンキューブ 11. 関数までわかれば、何でもできるぞ! • ここで基礎のインプット終わり。 • ここまでで学習したことで、ほとんどの仕事できる • あとは、 ・効率的でバグのない設計ができること ・ほしい情報をリファレンスなどから探せること ・いろいろ作ってみて経験値をあげていくこと 13
  • 14. © 株式会社エレファンキューブ 12. 次回からの予告 • 「どう設計するか」を実例でみせていきます。 • プログラムの1行1行は自分で調べればよいので、なぜそう設計したの かを学んでください。 • テーマ ・ノベルゲーム ・クイズアプリ 14 • 性格判断アプリ。 ある程度ランダム要素入れると、うまくごまかせそう。 • おこづかい帳 一日の予算や、個々の食費などの予算を決めておいていくら使った かを入力していくと予算を超過した時点で警告が出る、みたいな。 • ○○の数当てゲーム モンスターがあらわれるのと数当てゲームを応用です。デフォルメ した何かの地図(ここでは東京23区のデフォルメ地図)を背景にし て、新宿の都庁にアイコンが入ると「東京都の人口は??」、「面積 はいくつ?」、上野動物園に入ると、「動物は全部で何匹?」、「西 郷さんは生きてたら何歳?」などその地域ネタにあわせた数字ネタ クイズを出していくアプリ。