WebプログラミングT

 目次へ 前へ 次へ

2009/10/13 久米

U.ActionScriptの基本文法 

4 関数

4.1関数

関数は、処理をまとめた入れ物です。(算数や数学でいう関数とはまったく別物です。名前だけが同じ。)

関数の種類には、次の2種類があります。ここでは自分で作る関数についてお話しします。

  1. 自分で作る関数
  2. あらかじめ用意してある関数(次節で説明)

4.2 関数を使う手順

  1. 定義:処理をまとめ、それに関数名を付けます。
  2. 呼び出し:使う側は、関数名を書くことで関数を使うことができます。
  3. 呼び出し2:呼び出すとき、引数で値を、関数側に渡すことができます。
  4. 呼び出し3:結果を戻り値で、使う側にもらうようにすることもできます。
使う側   関数側

・・・
aisatu("山田");
・・・

→  

function aisatu(xx:String) {
textField.text=xx+"さんこんにちは";
}

関数を使うと次の点で便利です。

  1. 頭の中が整理できる。
  2. スクリプト記述が簡素になる。
  3. 再利用ができる。
関数の定義方法 function 関数名(引数,・・・):戻り値の型 {//引数が必要なければ()の中は省略
  処理;
  処理;
  ・・・
return 戻り値; //戻り値なければこの文は省略
}
関数名
(変数名と同じ)
  • 大文字小文字は区別する。 abcとABCとaBcは別のもの。
  • アルファベット、数字、_ で名前付ける。
  • 先頭の文字は、アルファベットか _ 。
  • 予約語は使えない。
引数とは
  • 関数を呼び出すときに、関数に渡す値のこと。
  • 関数を定義する時に、引数を使うかどうか決める。
戻り値とは
  • 関数が処理されたあとに、呼び出し側に返す値のこと。
  • 関数を定義する時に、戻り値を使うかどうか決める。

4.3 引数と戻り値

引数と戻り値のありなしの例

  関数例 使用例 備考
引数なし
戻り値なし
function aisatu():void {
    textField.text="山田さんこんにちは";
}
aisatu(); 戻り値がない時は
戻り値の型を
voidと書く
引数あり
戻り値なし
function aisatu(xx:String):void {
    textField.text=xx+"さんこんにちは";
}
aisatu("山田");  
引数なし
戻り値あり
function aisatu():String {
    var x:String= "山田さんこんにちは";
    return x;
}
a=aisatu();
textField.text=a;
 
引数あり
戻り値あり
function aisatu(xx:String):String {
    var x:String = xx+"さんこんにちは";
    return x;
}
a=aisatu("山田");
textField.text=a;
 

具体例

  関数例 使用例
例1消費税も
あわせた金額を
計算する関数
function nedan(yyy:int) {
    var shohizei:int;
    var gokei:int;
    shohizei=yyy*0.05;
    gokei=yyy+shohizei;
    return gokei;
}

var yen:int= nedan(5380);
trace("消費税込みで"+yen+"円です");
例2 2つの値の
合計 を計算し
返す関数
function gokei(a:int, b:int){
    var x:int=a+b;
    return x;
}
var yen:int= gokei(100, 300);
trace("合計で"+yen+"円です");
例3
function scaleHenka()
	kaku_mc.scaleX*=0.9;
	kaku_mc.scaleY*=0.9;
}
kaku_mc.addEventListener(MouseEvent.CLICK, clickHandler);
kaku_mc.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
function clickHandler(event){
scaleHenka();
}
function rollOverHandler(event){
scaleHenka();{ kaku_mc.alpha*=0.9; kaku_mc.rotation+=10;
}

例題1 山田さんこんばんは と表示する関数konba()を作って、呼び出してみよ。

例題2 function konba(a:String) で aさんこんばんは と表示する関数を作って、呼び出してみよ。

例題3 function konba(a:String)で aさんこんばんは という文字列がreturnされる関数を作って、呼び出してみよ。

 

例題4 消費税が10%となったときの関数を作って、使ってみよ。

例題5 5つ値の合計をして返す関数を作って、使ってみよ。

 

演習6 scaleHenka関数の縮小率を引数にした関数を作ってみよ。

演習7 上記で、clickすると2.0倍、rollOverすると0.8倍になるようなスクリプトを記述せよ。