在一个场景做了由按钮控制开闭的五道题(拖拽题、填空题、选择题、连线题、游戏题)
animateAS3.0基于课件的题目设计
以下为源码
stop();
f4_t1.text="";//文本1
//初始化:一切影片剪辑不显示
for (var j1:int=1;j1<=4;j1++){
this["f4_d"+j1].visible=false;
this["f4_s"+j1].visible=false;//
this["f4_xw"+j1].visible=false;//目标位置
}
f4_wt1.visible=false;
var f4_cc1_x,f4_cc2_x,f4_cc3_x,f4_cc4_x:Number;
var f4_cc1_y,f4_cc2_y,f4_cc3_y,f4_cc4_y:Number;
f4_cc1_x=f4_s1.x;
f4_cc2_x=f4_s2.x;
f4_cc3_x=f4_s3.x;
f4_cc4_x=f4_s4.x;
f4_cc1_y=f4_s1.y;
f4_cc2_y=f4_s2.y;
f4_cc3_y=f4_s3.y;
f4_cc4_y=f4_s4.y;
//下面实现第一次点击按钮开始做题目1,第二次点击结束做题;
var f4_p1:Number=0;
f4_bt1.addEventListener(MouseEvent.CLICK,f4_tm1);
function f4_tm1(event:MouseEvent):void{
if(f4_p1==0){
f4_p1=1;
//为四个诗歌片段添加事件侦听
for (var j2:int=1;j2<=4;j2++){
this["f4_s"+j2].addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
this["f4_s"+j2].addEventListener(MouseEvent.MOUSE_UP, dragStop);
}
//初始化:显示该显示的
for (var j3:int=1;j3<=4;j3++){
this["f4_s"+j3].visible=true;//可拖拽诗歌
this["f4_xw"+j3].visible=true;//目标位置
}
f4_wt1.visible=true;
}
else{
f4_p1=0
//为四个诗歌片段移除事件侦听
for (var j4:int=1;j4<=4;j4++){
this["f4_s"+j4].removeEventListener(MouseEvent.MOUSE_DOWN, dragStart);
this["f4_s"+j4].removeEventListener(MouseEvent.MOUSE_UP, dragStop);
}
//初始化:关闭显示不该显示的
for (var j5:int=1;j5<=4;j5++){
this["f4_d"+j5].visible=false;//灯笼
this["f4_s"+j5].visible=false;//可拖拽诗歌
this["f4_xw"+j5].visible=false;//目标位置
}
//诗歌移到原来位置
f4_s1.x=f4_cc1_x;
f4_s2.x=f4_cc2_x;
f4_s3.x=f4_cc3_x;
f4_s4.x=f4_cc4_x;
f4_s1.y=f4_cc1_y;
f4_s2.y=f4_cc2_y;
f4_s3.y=f4_cc3_y;
f4_s4.y=f4_cc4_y;
f4_t1.text="";
f4_wt1.visible=false;}
}
var startp:Point;
function dragStart(event:MouseEvent){
startp = new Point();
startp.x = event.target.x;
startp.y = event.target.y;
event.target.startDrag();
}
function dragStop(event:MouseEvent){
event.target.stopDrag();
var nameString:String = event.target.name;
var a:String = nameString.substring(nameString.length-1, nameString.length);//a取最后一位
if (event.target.x > root["f4_xw"+a].x && event.target.x < root["f4_xw"+a].x + root["f4_xw"+a].width && event.target.y > root["f4_xw"+a].y && event.target.y < root["f4_xw"+a].y + root["f4_xw"+a].height){
event.target.x = root["f4_xw"+a].x;
event.target.y = root["f4_xw"+a].y;
root["f4_d"+a].visible=true;
root["f4_d"+a].play();
}
else{
event.target.x = startp.x;
event.target.y = startp.y;
}
if ((f4_s1.x == f4_xw1.x && f4_s2.x == f4_xw2.x && f4_s3.x == f4_xw3.x && f4_s4.x == f4_xw4.x)){
f4_t1.text="回答正确!"
}
}
第二题
/*
二、填空题目:
(1)
所有诗词正确→f4_t2文本显示:"回答正确!"
*/
var f4_an1:String="答案1";
var f4_an2:String="答案2";
var f4_an3:String="答案3";
var f4_an4:String="答案4";
//初始化:一切影片剪辑不显示
for (var j6:int=1;j6<=4;j6++){
this["f4_tk"+j6].visible=false;//可输入文本框
}
f4_bt2_1.visible=false;//检查
f4_bt2_2.visible=false;//清空
f4_wt2.visible=false;//问题
f4_t2.text=""
var f4_p2:Number=0;
f4_bt2.addEventListener(MouseEvent.CLICK,f4_tm2);
function f4_tm2(event:MouseEvent):void{
if(f4_p2==0){
f4_p2=1;
for (var j7:int=1;j7<=4;j7++){
this["f4_tk"+j7].visible=true;//可输入文本框
}
f4_bt2_1.visible=true;//检查
f4_bt2_2.visible=true;//清空
//问题显示
f4_wt2.visible=true;
f4_bt2_1.addEventListener(MouseEvent.CLICK,f4_bt2_tk1);//为“检查”添加事件侦听
f4_bt2_2.addEventListener(MouseEvent.CLICK,f4_bt2_tk2);//为“清空”添加事件侦听
}
else{
f4_p2=0
for (var j8:int=1;j8<=4;j8++){
this["f4_tk"+j8].visible=false;
this["f4_tk"+j8].text="";
}
f4_bt2_1.visible=false;
f4_bt2_2.visible=false;
f4_wt2.visible=false;
f4_bt2_1.removeEventListener(MouseEvent.CLICK,f4_bt2_tk1);//移除“检查”事件侦听
f4_bt2_2.removeEventListener(MouseEvent.CLICK,f4_bt2_tk2);//移除“清空”事件侦听
f4_t2.text="";
}
}
function f4_bt2_tk1(event:MouseEvent){
if((f4_tk1.text==f4_an1)&&(f4_tk2.text==f4_an2)&&(f4_tk3.text==f4_an3)&&(f4_tk4.text==f4_an4)){
f4_t2.text="回答正确!";
}else{
f4_t2.text="回答有误!";
}
}
function f4_bt2_tk2(event:MouseEvent){
f4_t2.text="";
for (var j9:int=1;j9<=4;j9++){
this["f4_tk"+j9].text="";
}
}
第三题
/*
三、选择题:
(1)
(2)
选择正确→f4_t3文本显示:"回答正确!"
*/
import fl.controls.RadioButtonGroup;
xx1.visible=false;
xx2.visible=false;
xx3.visible=false;
xx4.visible=false;
f4_wt3.visible=false;
f4_t3.text="";
var q1:RadioButtonGroup=new RadioButtonGroup("wt1");
xx1.group=q1;
xx2.group=q1;
xx3.group=q1;
xx4.group=q1;
function f4_xz(event:MouseEvent):void{
if(event.target.selection.value==1){
f4_t3.text="回答正确!";
}
else if(event.target.selection.value==0){
f4_t3.text="回答错误!";
}
}
/
var f4_p3:Number=0;
f4_bt3.addEventListener(MouseEvent.CLICK,f4_tm3);
function f4_tm3(event:MouseEvent):void{
if(f4_p3==0){
xx1.visible=true;
xx2.visible=true;
xx3.visible=true;
xx4.visible=true;
f4_wt3.visible=true;
f4_p3=1;
q1.addEventListener(MouseEvent.CLICK,f4_xz);}
else{
xx1.visible=false;
xx2.visible=false;
xx3.visible=false;
xx4.visible=false;
f4_wt3.visible=false;
f4_p3=0;
q1.removeEventListener(MouseEvent.CLICK,f4_xz);
f4_t3.text="";
}
}
第四题
import flash.events.MouseEvent;
/*
四、连线题:
*/
for (var j10:int=1;j10<=3;j10++){
this["f4_z"+j10].visible=false;
this["f4_da"+j10].visible=false;
}
f4_t4.visible=false;
f4_bt4_1.visible=false;
f4_bt4_2.visible=false;
f4_bt4_3..visible=false;
var f4_p4:Number=0;
f4_bt4.addEventListener(MouseEvent.CLICK,f4_tm4);
function f4_tm4(event:MouseEvent):void{
if(f4_p4==0){
f4_bt4_1.visible=true;
f4_bt4_2.visible=true;
f4_bt4_3..visible=true;
for (var j11:int=1;j11<=3;j11++){
this["f4_z"+j11].visible=true;
this["f4_da"+j11].visible=true;
}
f4_t4.visible=true;
f4_p4=1;
//事件侦听
/*
for (var j12:int=1;j12<=3;j12++){
this["f4_da"+j12].addEventListener(MouseEvent.CLICK,beginn);
this["f4_z"+j12].addEventListener(MouseEvent.CLICK,stopp);
}
*/
f4_bt4_1.addEventListener(MouseEvent.CLICK,f4_bt4_lx1);
f4_bt4_2.addEventListener(MouseEvent.CLICK,f4_bt4_lx2);
f4_bt4_3.addEventListener(MouseEvent.CLICK,f4_bt4_lx3);
}
else{
lines = [];
LeftList= [];
RightList= [];
f4_bt4_1.visible=false;
f4_bt4_2.visible=false;
f4_bt4_3..visible=false;
for (var j13:int=1;j13<=3;j13++){
this["f4_z"+j13].visible=false;
this["f4_da"+j13].visible=false;
}
f4_t4.visible=false;
f4_t4.text="";
f4_p4=0;
//移除事件侦听
for (var j14:int=1;j14<=3;j14++){
this["f4_da"+j14].removeEventListener(MouseEvent.CLICK,beginn);
this["f4_z"+j14].removeEventListener(MouseEvent.CLICK,stopp);
}
f4_bt4_1.removeEventListener(MouseEvent.CLICK,f4_bt4_lx1);
f4_bt4_2.removeEventListener(MouseEvent.CLICK,f4_bt4_lx2);
f4_bt4_3.removeEventListener(MouseEvent.CLICK,f4_bt4_lx3);
}
}
//获取两次坐标
var hqx1,hqx2,hqy1,hqy2:Number;
var ts:Number=0;//ts用于画图取名
var tsw:String="";//ts用于画图取名
function beginn(event:MouseEvent){
hqx1=event.target.x;
hqy1=event.target.y;
//放入右列表
var nameString3:String = event.target.name;
var a3:String = nameString3.substring(nameString3.length-1, nameString3.length);//a3取最后一位
RightList.push(a3);
}
var lines:Array = [];
function stopp(event:MouseEvent){
hqx2=event.target.x;
hqy2=event.target.y;
//开始画图
//var lines:Array = [];
var line1:Sprite = Draw1(0xFF0000,hqx1,hqy1,hqx2,hqy2,tsw);
addChild(line1);
lines.push(line1);
//放入左列表
var nameString4:String = event.target.name;
var a4:String = nameString4.substring(nameString4.length-1, nameString4.length);//a3取最后一位
LeftList.push(a4);
//检测
trace(RightList);
trace(LeftList);
}
//定义一个画图程序
function Draw1(color:uint,qsx:Number,qsy:Number,jsx:Number,jsy:Number,ooo:String):Sprite
{
var shp:Sprite=new Sprite();
shp.graphics.lineStyle(3, color);//宽度和颜色
shp.graphics.moveTo( qsx,qsy );//起始坐标
shp.graphics.lineTo( jsx,jsy );//结束坐标
shp.graphics.endFill();//结束绘图
return (shp);
}
var LeftList:Array = [];
var RightList:Array = [];
var ht:Number=0;
f4_bt4_1.addEventListener(MouseEvent.CLICK,f4_bt4_lx1)
function f4_bt4_lx1(event:MouseEvent):void{
if(ht==0){
ht=1;
for (var j15:int=1;j15<=3;j15++){
this["f4_da"+j15].addEventListener(MouseEvent.CLICK,beginn);
this["f4_z"+j15].addEventListener(MouseEvent.CLICK,stopp);
trace("ht");
}
}
else{
ht=0;
}
}
f4_bt4_2.addEventListener(MouseEvent.CLICK,f4_bt4_lx2)
function f4_bt4_lx2(event:MouseEvent):void{
//var firstElement:String = myList[0];
if(RightList.length==3){
if (( RightList[0]==LeftList[0])&&( RightList[1]==LeftList[1])&&( RightList[2]==LeftList[2])){
f4_t4.text="全部答对!";
}else{f4_t4.text="连线存在错误!";}
}else if(RightList.length<3){f4_t4.text="未完成连线!";}
else{f4_t4.text="请检查连线!";}
}
f4_bt4_3.addEventListener(MouseEvent.CLICK,f4_bt4_lx3)
function f4_bt4_lx3(event:MouseEvent):void{
for each (var line:Sprite in lines) {
removeChild(line);
}
lines = [];
f4_t4.text="";
RightList.splice(0,RightList.length);
LeftList.splice(0,LeftList.length);
trace(RightList);
trace(LeftList);
}
第五题
/*
五、游戏题:
/*
for (var j18:int=1;j18<=3;j18++){
this["f4_dl_true"+j18].x=Math.random() * 439+114;
this["f4_dl_true"+j18].y=-Math.random() * 147-38;
this["f4_dl_false"+j18].x=Math.random() * 439+114;
this["f4_dl_false"+j18].y=-Math.random() * 147-38;
}
for (var j15:int=1;j15<=3;j15++){
this["f4_dl_true"+j15].visible=false;
this["f4_dl_false"+j15].visible=false;
}
f4_bt5_1.visible=false;
f4_kk.visible=false;
f4_tc1.visible=false;
f4_tc2.visible=false;
txt.text="";
txt.visible=false;
f4_hh.visible=false;
f4_hht.visible=false;
f4_hht.text="";
var f4_p5:Number=0;
f4_bt5.addEventListener(MouseEvent.CLICK,f4_tm5);
function f4_tm5(event:MouseEvent):void{
if(f4_p5==0){
f4_p5=1;
f4_bt5_1.visible=true;
f4_kk.visible=true;
txt.visible=true;
txt.text="";
f4_bt5_1.addEventListener(MouseEvent.CLICK,f4_bt5_f1);
timer2.addEventListener(TimerEvent.TIMER, onTimer2);
}
else{
f4_p5=0;
for (var j17:int=1;j17<=3;j17++){
this["f4_dl_true"+j17].visible=false;
this["f4_dl_false"+j17].visible=false;
}
f4_bt5_1.visible=false;
f4_kk.visible=false
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, onTimer);
timer2.stop();
timer2.removeEventListener(TimerEvent.TIMER, onTimer2);
timer3.stop();
timer3.removeEventListener(TimerEvent.TIMER,UpdateTime3);
txt.text="";
txt.visible=true;
f4_hh.visible=false;
f4_hht.visible=false;
f4_hht.text="";
}
}
var speed:Number = 0.5;
var mc:Number = 0.5;
f4_kk.x=310;
f4_kk.y=360;
f4_tc1.y=360;
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyRelease);
function onKeyPress(e:KeyboardEvent):void {
switch (e.keyCode) {
case Keyboard.A:
speed -= 5;
break;
case Keyboard.D:
speed += 5;
break;
}
}
function onKeyRelease(e:KeyboardEvent):void {
switch (e.keyCode) {
case Keyboard.A:
speed += 5;
break;
case Keyboard.D:
speed -= 5;
break;
}
}
function update():void {
if(86<=f4_kk.x&&f4_kk.x<=562){
f4_kk.x += speed;
speed *= mc;}
else{
if(f4_kk.x < 86){
f4_kk.x = 86;
}
else {
f4_kk.x = 562;
}
}
}
var timer:Timer = new Timer(10);
function onTimer(event:TimerEvent):void {
update();
}
f4_bt5_1.addEventListener(MouseEvent.CLICK,f4_bt5_f1);
function f4_bt5_f1(event:MouseEvent):void{
f4_bfwzall();
f4_bt5_1.visible=false;
timer2.start();
timer.start();
timer3.start();
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer3.addEventListener(TimerEvent.TIMER,UpdateTime3);
}
function f4_bfwzall(){
f4_dl_false1.x=Math.random() * 439+114;
f4_dl_false1.y=-Math.random() * 147-38;
f4_dl_false2.x=Math.random() * 439+114;
f4_dl_false2.y=-Math.random() * 147-38;
f4_dl_false3.x=Math.random() * 439+114;
f4_dl_false3.y=-Math.random() * 147-38;
f4_dl_true1.x=Math.random() * 439+114;
f4_dl_true1.y=-Math.random() * 147-38;
f4_dl_true2.x=Math.random() * 439+114;
f4_dl_true2.y=-Math.random() * 147-38;
f4_dl_true3.x=Math.random() * 439+114;
f4_dl_true3.y=-Math.random() * 147-38;
f4_dl_false1.visible=true;
f4_dl_false2.visible=true;
f4_dl_false3.visible=true;
f4_dl_true1.visible=true;
f4_dl_true2.visible=true;
f4_dl_true3.visible=true;
}
function updatewz():void {
f4_dl_false1.y+=1+Math.random() * 2;
f4_dl_false2.y+=1+Math.random() * 2;
f4_dl_false3.y+=1+Math.random() * 2;
f4_dl_true1.y+=1+Math.random() * 2;
f4_dl_true2.y+=1+Math.random() * 2;
f4_dl_true3.y+=1+Math.random() * 2;
jcpz();
cdft();
}
var timer2:Timer = new Timer(10);
function onTimer2(event:TimerEvent):void {
updatewz();
}
//timer2.addEventListener(TimerEvent.TIMER, onTimer2);
var jf:Number=0;
function jcpz():void{
if ((f4_dl_true1.hitTestObject(f4_kk))&&(f4_dl_true1.visible=true)) {
jf=jf+1;
f4_dl_true1.visible=false;
f4_dl_true1.x = Math.random() * 439+114;
f4_dl_true1.y =-Math.random() * 147-38;
f4_dl_true1.speed = 1 + Math.random() * 2;
f4_tc1.x=f4_kk.x
f4_tc1.visible=true;
f4_tc1.play();
}
if ((f4_dl_true2.hitTestObject(f4_kk))&&(f4_dl_true2.visible=true)) {
jf=jf+1;
f4_dl_true2.visible=false;
f4_dl_true2.x = Math.random() * 439+114;
f4_dl_true2.y =-Math.random() * 147-58;
f4_dl_true2.speed = 1 + Math.random() * 2;
f4_tc1.x=f4_kk.x
f4_tc1.visible=true;
f4_tc1.play();
}
if ((f4_dl_true3.hitTestObject(f4_kk))&&(f4_dl_true3.visible=true)) {
jf=jf+1;
f4_dl_true3.visible=false;
f4_dl_true3.x = Math.random() * 439+114;
f4_dl_true3.y =-Math.random() * 147-58;
f4_dl_true3.speed = 1 + Math.random() * 2;
f4_tc1.x=f4_kk.x
f4_tc1.visible=true;
f4_tc1.play();
}
if ((f4_dl_false1.hitTestObject(f4_kk))&&(f4_dl_false1.visible=true)) {
jf=jf-1;
f4_dl_false1.visible=false;
f4_dl_false1.x = Math.random() * 439+114;
f4_dl_false1.y =-Math.random() * 147-38;
f4_dl_false1.speed = 1 + Math.random() * 2;
f4_tc2.x=f4_kk.x
f4_tc2.visible=true;
f4_tc2.play();
}
if ((f4_dl_false2.hitTestObject(f4_kk))&&(f4_dl_false2.visible=true)) {
jf=jf-1;
f4_dl_false2.visible=false;
f4_dl_false2.x = Math.random() * 439+114;
f4_dl_false2.y =-Math.random() * 147-38;
f4_dl_false2.speed = 1 + Math.random() * 2;
f4_tc2.x=f4_kk.x
f4_tc2.visible=true;
f4_tc2.play();
}
if ((f4_dl_false3.hitTestObject(f4_kk))&&(f4_dl_false3.visible=true)) {
jf=jf-1; // -1 1
f4_dl_false3.visible=false;
f4_dl_false3.x = Math.random() * 439+114;
f4_dl_false3.y =-Math.random() * 147-38;
f4_dl_false3.speed = 1 + Math.random() * 2;
f4_tc2.x=f4_kk.x
f4_tc2.visible=true;
f4_tc2.play();
}
}
function cdft():void{
if (f4_dl_false1.y > stage.stageHeight) {
f4_dl_false1.x =Math.random() * 439+114;
f4_dl_false1.y =-Math.random() * 147-38;
f4_dl_false1.speed =1+Math.random() * 1;
f4_dl_false1.visible=true;
}
if (f4_dl_false2.y > stage.stageHeight) {
f4_dl_false2.x =Math.random() * 439+114;
f4_dl_false2.y =-Math.random() * 147-38;
f4_dl_false2.speed =1+Math.random() * 1;
f4_dl_false2.visible=true;
}
if (f4_dl_false3.y > stage.stageHeight) {
f4_dl_false3.x =Math.random() * 439+114;
f4_dl_false3.y =-Math.random() * 147-38;
f4_dl_false3.speed =1+Math.random() * 1;
f4_dl_false3.visible=true;
}
if (f4_dl_true1.y > stage.stageHeight) {
f4_dl_true1.x =Math.random() * 439+114;
f4_dl_true1.y =-Math.random() * 147-38;
f4_dl_true1.speed =1+Math.random() * 1;
f4_dl_true1.visible=true;
}
if (f4_dl_true2.y > stage.stageHeight) {
f4_dl_true2.x =Math.random() * 439+114;
f4_dl_true2.y =-Math.random() * 147-38;
f4_dl_true2.speed =1+Math.random() * 1;
f4_dl_true2.visible=true;
}
if (f4_dl_true3.y > stage.stageHeight) {
f4_dl_true3.x =Math.random() * 439+114;
f4_dl_true3.y =-Math.random() * 147-38;
f4_dl_true3.speed =1+Math.random() * 1;
f4_dl_true3.visible=true;
}
}
var time_num:int=29;//30s
var tick:int=0;
var timer3:Timer=new Timer(1000,60);
txt.text=time_num.toString()+"s";
function UpdateTime3(e:TimerEvent):void
{
tick++;
txt.text=String(time_num-tick)+"s";
trace(tick);
if(tick==time_num)
{
timer3.stop();
txt.text="时间到!";
timer.removeEventListener(TimerEvent.TIMER, onTimer);
timer2.removeEventListener(TimerEvent.TIMER, onTimer2);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyRelease);
timer3.removeEventListener(TimerEvent.TIMER,UpdateTime3);
f4_hh.visible=true;
f4_hht.visible=true;
f4_hht.text=String(jf)
}
}
用来自己参加学校的小竞赛qaq
又想记录一下自己的成长所以就发到了这里ovo
里面不太好看的按钮和影片剪辑准备继续替换!!