ButtonTest04: 1問だけのクイズ形式にしてみました
/**
* Copyright siouxcitizen ( http://wonderfl.net/user/siouxcitizen )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/l1nt
*/
// forked from hacker_7daxapax's ButtonTest03: 複数ボタン作成
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class ButtonTest extends Sprite {
private var button01 : SimpleButton;//ボタン1
private var button02 : SimpleButton;//ボタン2
private var button03 : SimpleButton;//ボタン3
private var question : TextField;//問題テキスト
private var questionFormat : TextFormat;//問題テキストフォーマット
private var judge : TextField;//判定テキスト
private var judgeFormat : TextFormat;//判定テキストフォーマット
private var target : CustomButton;//マウスイベントでターゲット情報取得用
public function ButtonTest() {
//問題文字列設定
question = new TextField;
question.text = "ButtonTest!";
question.x = 10;
question.y = 10;
question.width = 300;
question.multiline = true;
question.text = "以下の漢字の読みを答えなさい\n"
+ "\n"
+ "未曾有\n"
+ "1、みぞうゆう\n"
+ "2、まつぞうゆう\n"
+ "3、みぞう\n";
addChild(question);
//問題文字列用フォーマット設定
questionFormat = new TextFormat();
questionFormat.font = "Courier New";
questionFormat.bold = true;
questionFormat.size = 13;
question.setTextFormat(questionFormat);
//判定文字列設定
judge = new TextField;
judge.x = 55;
judge.y = 170;
judge.width = 400;
judge.height = 200;
judge.multiline = false;
judge.text = "";
addChild(judge);
//回答ボタン設定
button01 = new CustomButton("1",1);
button01.x = 350;
button01.y = 50;
button02 = new CustomButton("2",2);
button02.x = 350;
button02.y = 80;
button03 = new CustomButton("3",3);
button03.x = 350;
button03.y = 110;
button01.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
button02.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
button03.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
button01.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
button02.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
button03.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
addChild(button01);
addChild(button02);
addChild(button03);
}
//マウスダウンイベントの処理
private function onMouseDown(evt:MouseEvent):void {
target = CustomButton(evt.currentTarget);
if (target.getBtnNo() == 3) {
judge.text = "当たり";
} else {
judge.text = "ハズレ";
}
//判定文字列用フォーマット設定
judgeFormat = new TextFormat();
judgeFormat.font = "Courier New";
judgeFormat.bold = true;
judgeFormat.size = 150;
judge.setTextFormat(judgeFormat);
}
//マウスアップイベントの処理
private function onMouseUp(evt:MouseEvent):void {
//judge.text = "";
}
}
}
import flash.display.*;
import flash.system.*;
import flash.text.*;
//カスタムボタン
class CustomButton extends SimpleButton {
private var btnName : String = "";//ボタン名
private var btnNo : int = 0;//ボタン番号
//コンストラクタ
public function CustomButton(label:String="",no:int=0) {
btnName = label;
btnNo = no;
//状態
upState = makeSprite(label,0x00FF00);
overState = upState;
downState = makeSprite(label,0x0000FF);
hitTestState = upState;
}
public function getBtnName():String {
return btnName;
}
public function getBtnNo():int {
return btnNo;
}
//ボタン用スプライト作成
private function makeSprite(text:String,color:uint):Sprite{
//ボタン用ラベル作成
var label : TextField = new TextField();
label.text = text;
label.autoSize = TextFieldAutoSize.CENTER;
label.selectable = false;
//ボタン用スプライト作成
var sp:Sprite = new Sprite();
sp.graphics.beginFill(color);
sp.graphics.drawRoundRect(0, 0, 100, 20, 15);
sp.graphics.endFill();
sp.alpha = 0.8;
sp.addChild(label);
//ラベル用フォーマット設定
var format:TextFormat=new TextFormat();
format.font = "Courier New";
format.bold = true;
format.size = 13;
label.setTextFormat(format);
return sp;
}
}