雨中拍到一只大山雀
雨中拍到一只大山雀
雨中拍到一只大山雀
雨中拍到一只大山雀
雨中拍到一只大山雀
雨中拍到一只大山雀
雨中拍到一只大山雀
雨中拍到一只大山雀
雨中拍到一只大山雀
雨中拍到一只大山雀
举报/反馈
这一篇主要讲在Animate软件中,使用AS3脚本制作连线题的基本方法。
第五章 互动答题之连线题
5.1 一对一连线题的制作
5.1.1 涉及知识点
Graphics类及Shape类的使用,都是绘图常用的代码类影片剪辑元件的使用文本工具的使用按钮元件的使用和控制元件显示隐藏Array数组类的基本用法
5.1.2 制作步骤
1.按前面教程的方法打开软件,并新建AS3文档,关闭高级图层模式。
2.在工具栏找到文本工具(快捷键t),在工具属性面板中选择静态文本,设置好文字颜色、字体及字号等内容,在舞台上点击放置一个静态文本框并输入文字“一对一连线题”。再放置一个静态文本,输入题目内容:
3.使用矩形工具(快捷键r)和文本工具(快捷键t)结合制作影片剪辑如图,文本工具用于输入选项:
4.转换为元件时选择对齐点在右侧居中,如图:
双击进入编辑后,在第2帧创建关键帧,调整矩形颜色,并在第1帧添加代码:
stop();
5.选择元件,设置实例名为left0
6.同样的方法,制作其它几个左侧的选项,依次设置其它元件的实例名为left1,left2,left3,如果有不同数量,也要按这个规律设置:
7.使用矩形工具(快捷键r)和文本工具(快捷键t)制作右侧的选项元件:
8.因为是右侧的元件,所以在转换为影片剪辑时对齐点要选择左侧居中位置:
同样进入元件编辑状态,添加第2帧,并调整颜色,添加代码stop();
9.设置右侧元件的实例名为right0
10.继续制作其它三个选项,实例名依次为right1,right2,right3,与左侧选项一一对应。
11. 根据章节3.1中制作方法,分别制作提交按钮(实例名为btnSubmit),回答正确提示元件(实例名为mcRight),错误提示动态文本(实例名为txtTip)
12.选择所有的元件和对象,右键选择分散到图层:
13.这时会自动生成按元件实例名或元件名或文本字符命名的图层,可以核对设置是否正确。
14.新建一个图层,设置图层名为AS,用来编写脚本。
21.选择AS图层的关键帧,打开动作面板(快捷键F9):
22.在动作面板输入如下代码:
————————————————————————
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.display.MovieClip;
var answerAry:Array=new Array();//选项数组
var leftNum:int=4;//左侧选项数量
var rightNum:int=4;//右侧选项数量
var ranLeftAry:Array=new Array();//左侧随机索引数组
var ranRightAry:Array=new Array();//右侧随机索引数组
var idLeftAry:Array=new Array();//左侧索引数组
var idRightAry:Array=new Array();//右侧索引数组
var posLeftAry:Array=new Array();//左侧选项坐标数组
var posRightAry:Array=new Array();//右侧选项坐标数组
var lineSprite:Sprite=new Sprite();//连线容器
var leftID:int=-1;//当前选择的左侧选项索引
var rightID:int=-1;//当前选择的右侧选项索引
var lineNum:int=0;//连线数量
initView();//初始化视图
function initView():void
{
var i:int=0;
mcRight.visible=false;//默认隐藏回答正确提示
btnSubmit.visible=false;//隐藏提交按钮
this.addChildAt(lineSprite,0);//将连线容器放到舞台中显示
for(i=0;i { posLeftAry.push([this["left"+i].x,this["left"+i].y]);//获取左侧选项坐标 idLeftAry.push(i);//添加左侧索引到数组 this["left"+i].gotoAndStop(1);//左侧选项跳转到第1帧 this["left"+i].isUse=false;//自定义属性,是否被选 this["left"+i].addEventListener(MouseEvent.CLICK,ClickLeftEvent);//左侧选项添加鼠标点击事件 } for(i=0;i { posRightAry.push([this["right"+i].x,this["right"+i].y]);//获取右侧选项坐标 idRightAry.push(i);//添加右侧索引到数组 this["right"+i].gotoAndStop(1);//右侧选项跳转到第1帧 this["right"+i].isUse=false;//自定义属性,是否被选 this["right"+i].addEventListener(MouseEvent.CLICK,ClickRightEvent);//右侧选项添加鼠标点击事件 } ranLeftAry=GetRandomAry(idLeftAry);//获取左侧随机索引数组 ranRightAry=GetRandomAry(idRightAry);//获取右侧随机索引数组 for(i=0;i { this["left"+i].x=posLeftAry[ranLeftAry[i]][0];//将左侧选项放到随机后的位置 this["left"+i].y=posLeftAry[ranLeftAry[i]][1]; } for(i=0;i { this["right"+i].x=posRightAry[ranRightAry[i]][0];//将右侧选项放到随机后的位置 this["right"+i].y=posRightAry[ranRightAry[i]][1]; } btnSubmit.addEventListener(MouseEvent.CLICK,CheckAnswerEvent);//提交按钮的鼠标点击事件 mcRight.addEventListener(MouseEvent.CLICK,ResetView);//回答正确元件的鼠标点击事件 } function ClickLeftEvent(event:MouseEvent):void { var obj:MovieClip=event.currentTarget as MovieClip;//获取鼠标事件当前的选项 var t:int=int(obj.name.slice(4));//获取选项索引 if(obj.isUse==true)//如果选项已经被选,则不向后执行 { return; } if(leftID!=-1)//左侧索引不是-1说明已经选择过选项了 { this["left"+leftID].isUse=false; this["left"+leftID].gotoAndStop(1); } leftID=t; obj.isUse=true; obj.gotoAndStop(2);//当前选项跳转到第2帧 if(rightID!=-1)//如果右侧选项已经选择 { lineSprite.graphics.lineStyle(2,0x333333);//设置线条样式 lineSprite.graphics.moveTo(this["left"+leftID].x,this["left"+leftID].y);//移动绘制点到左侧选项 lineSprite.graphics.lineTo(this["right"+rightID].x,this["right"+rightID].y);//绘制线条到右侧选项 this["right"+rightID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 answerAry.push([leftID,rightID]);//添加回答索引到数组 rightID=-1;//重置左右选择索引 leftID=-1; lineNum++;//线条数量+1 if(lineNum==leftNum) { btnSubmit.visible=true;//显示提交按钮 } } } function ClickRightEvent(event:MouseEvent):void { var obj:MovieClip=event.currentTarget as MovieClip;//获取鼠标事件当前的选项 var t:int=int(obj.name.slice(5));//获取选项索引 if(obj.isUse==true)//如果选项已经被选,则不向后执行 { return; } if(rightID!=-1)//右侧索引不是-1说明已经选择过选项了 { this["right"+rightID].isUse=false; this["right"+rightID].gotoAndStop(1); } rightID=t; obj.isUse=true; obj.gotoAndStop(2);//当前选项跳转到第2帧 if(leftID!=-1)//如果右侧选项已经选择 { lineSprite.graphics.lineStyle(2,0x333333);//设置线条样式 lineSprite.graphics.moveTo(this["left"+leftID].x,this["left"+leftID].y);//移动绘制点到左侧选项 lineSprite.graphics.lineTo(this["right"+rightID].x,this["right"+rightID].y);//绘制线条到右侧选项 this["left"+leftID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 answerAry.push([leftID,rightID]);//添加回答索引到数组 rightID=-1;//重置左右选择索引 leftID=-1; lineNum++;//线条数量+1 if(lineNum==leftNum) { btnSubmit.visible=true;//显示提交按钮 } } } function ResetView(event:MouseEvent):void { mcRight.visible=false;//隐藏回答正确提示 txtTip.text="";//重置提示文本 btnSubmit.visible=false;//隐藏提交按钮 lineSprite.graphics.clear();//清空绘制线条 lineNum=0;//重置线条数量 answerAry=new Array(); for(var i:int=0;i { this["left"+i].isUse=false;//重置选项状态 } for(i=0;i { this["right"+i].isUse=false;//重置选项状态 } } function CheckAnswerEvent(event:MouseEvent):void { var isRight:Boolean=true;//临时变量 for(var i:int=0;i { if(answerAry[i][0]!=answerAry[i][1])//如果连线不正确 { isRight=false; } } if(isRight==false)//如果有错误 { txtTip.text="连线有错误,请重新回答"; btnSubmit.visible=false;//隐藏提交按钮 lineSprite.graphics.clear(); lineNum=0; answerAry=new Array(); for(i=0;i { this["left"+i].isUse=false; } for(i=0;i { this["right"+i].isUse=false; } } else { btnSubmit.visible=false; txtTip.text=""; mcRight.visible=true; } } function GetRandomAry(ary:Array):Array//获取随机数组 { var tempAry:Array=new Array(); var templen:int=ary.length; var temp:int=int(Math.random()*100000)%ary.length; while(tempAry.length { tempAry.push(ary[temp]); ary.splice(temp,1); temp=int(Math.random()*100000)%ary.length; } return tempAry; } ———————————————————————— 23.代码编写完成后,使用Ctrl+enter预览内容 5.2 一对多连线题的制作 5.2.1 涉及知识点 Graphics类及Shape类的使用,都是绘图常用的代码类影片剪辑元件的使用文本工具的使用按钮元件的使用和控制元件显示隐藏Array数组类的基本用法 5.2.2 制作步骤 1.打开Animate2022,Ctrl+n打开新建窗口,然后选择Actionscript3.0平台文档,选择角色动画中的第一个预设模板,自己制作时需要根据实际使用场景设置舞台尺寸。 2.依次点击修改--文档 ,也可以使用快捷键Ctrl+j,打开文档属性面板。 3.将高级图层选项取消勾选,因为高级图层一般是用在动画制作中,开发交互内容最好关闭,以免出现一些不可预知的错误。 4.在工具栏找到文本工具(快捷键t),在工具属性面板中选择静态文本,设置好文字颜色、字体及字号等内容,在舞台上点击放置一个静态文本框并输入文字“一对多连线题”: 5.使用矩形工具(快捷键r)和文本工具(快捷键t)结合制作影片剪辑如图,文本工具用于输入选项: 6.转换为元件时选择对齐点在右侧居中,如图: 双击进入编辑后,在第2帧创建关键帧,调整矩形颜色,并在第1帧添加代码: stop(); 7.选择元件,设置实例名为left0 8.同样的方法,制作其它左侧的选项,依次设置其它元件的实例名为left1,如果有不同数量,也要按这个规律设置。 9.使用矩形工具(快捷键r)和文本工具(快捷键t)制作右侧的选项元件,因为是右侧的元件,所以在转换为影片剪辑时对齐点要选择左侧居中位置: 同样进入元件编辑状态,添加第2帧,并调整颜色,添加代码: 10.设置右侧元件的实例名为right0 11.继续制作其它三个选项,实例名依次为right1,right2,right3 12. 根据章节3.1中制作方法,分别制作提交按钮(实例名为btnSubmit),回答正确提示元件(实例名为mcRight),错误提示动态文本(实例名为txtTip) 13.选择所有的元件和对象,右键选择分散到图层,这时会自动生成按元件实例名或元件名或文本字符命名的图层,可以核对设置是否正确: 14.新建一个图层,设置图层名为AS,用来编写脚本: 15.选择AS图层的关键帧,打开动作面板(快捷键F9),在动作面板输入如下代码: —————————————————————————— import flash.display.Sprite; import flash.events.MouseEvent; import flash.display.MovieClip; var answerAry:Array=[];//选项数组 var leftNum:int=2;//左侧选项数量 var rightNum:int=4;//右侧选项数量 var rightAry:Array=[0,0,1,1]; var ranLeftAry:Array=new Array();//左侧随机索引数组 var ranRightAry:Array=new Array();//右侧随机索引数组 var idLeftAry:Array=new Array();//左侧索引数组 var idRightAry:Array=new Array();//右侧索引数组 var posLeftAry:Array=new Array();//左侧选项坐标数组 var posRightAry:Array=new Array();//右侧选项坐标数组 var lineSprite:Sprite=new Sprite();//连线容器 var leftID:int=-1;//当前选择的左侧选项索引 var rightID:int=-1;//当前选择的右侧选项索引 var lineNum:int=0;//连线数量 initView();//初始化视图 function initView():void { var i:int=0; mcRight.visible=false;//默认隐藏回答正确提示 btnSubmit.visible=false;//隐藏提交按钮 this.addChildAt(lineSprite,0);//将连线容器放到舞台中显示 for(i=0;i { posLeftAry.push([this["left"+i].x,this["left"+i].y]);//获取左侧选项坐标 idLeftAry.push(i);//添加左侧索引到数组 this["left"+i].gotoAndStop(1);//左侧选项跳转到第1帧 this["left"+i].addEventListener(MouseEvent.CLICK,ClickLeftEvent);//左侧选项添加鼠标点击事件 } answerAry=new Array(); for(i=0;i { answerAry.push(-1); posRightAry.push([this["right"+i].x,this["right"+i].y]);//获取右侧选项坐标 idRightAry.push(i);//添加右侧索引到数组 this["right"+i].gotoAndStop(1);//右侧选项跳转到第1帧 this["right"+i].isUse=false;//自定义属性,是否被选 this["right"+i].addEventListener(MouseEvent.CLICK,ClickRightEvent);//右侧选项添加鼠标点击事件 } ranLeftAry=GetRandomAry(idLeftAry);//获取左侧随机索引数组 ranRightAry=GetRandomAry(idRightAry);//获取右侧随机索引数组 for(i=0;i { this["left"+i].x=posLeftAry[ranLeftAry[i]][0];//将左侧选项放到随机后的位置 this["left"+i].y=posLeftAry[ranLeftAry[i]][1]; } for(i=0;i { this["right"+i].x=posRightAry[ranRightAry[i]][0];//将右侧选项放到随机后的位置 this["right"+i].y=posRightAry[ranRightAry[i]][1]; } btnSubmit.addEventListener(MouseEvent.CLICK,CheckAnswerEvent);//提交按钮的鼠标点击事件 mcRight.addEventListener(MouseEvent.CLICK,ResetView);//回答正确元件的鼠标点击事件 } function ClickLeftEvent(event:MouseEvent):void { var obj:MovieClip=event.currentTarget as MovieClip;//获取鼠标事件当前的选项 var t:int=int(obj.name.slice(4));//获取选项索引 if(obj.isUse==true)//如果选项已经被选,则不向后执行 { return; } if(leftID!=-1)//左侧索引不是-1说明已经选择过选项了 { this["left"+leftID].gotoAndStop(1); } leftID=t; obj.gotoAndStop(2);//当前选项跳转到第2帧 if(rightID!=-1)//如果右侧选项已经选择 { lineSprite.graphics.lineStyle(2,0x333333);//设置线条样式 lineSprite.graphics.moveTo(this["left"+leftID].x,this["left"+leftID].y);//移动绘制点到左侧选项 lineSprite.graphics.lineTo(this["right"+rightID].x,this["right"+rightID].y);//绘制线条到右侧选项 this["right"+rightID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 answerAry[rightID]=leftID;//更新回答 rightID=-1;//重置左右选择索引 leftID=-1; lineNum++;//线条数量+1 if(lineNum==rightNum) { btnSubmit.visible=true;//显示提交按钮 } } } function ClickRightEvent(event:MouseEvent):void { var obj:MovieClip=event.currentTarget as MovieClip;//获取鼠标事件当前的选项 var t:int=int(obj.name.slice(5));//获取选项索引 if(obj.isUse==true)//如果选项已经被选,则不向后执行 { return; } if(rightID!=-1)//右侧索引不是-1说明已经选择过选项了 { this["right"+rightID].isUse=false; this["right"+rightID].gotoAndStop(1); } rightID=t; obj.isUse=true; obj.gotoAndStop(2);//当前选项跳转到第2帧 if(leftID!=-1)//如果左侧选项已经选择 { lineSprite.graphics.lineStyle(2,0x333333);//设置线条样式 lineSprite.graphics.moveTo(this["left"+leftID].x,this["left"+leftID].y);//移动绘制点到左侧选项 lineSprite.graphics.lineTo(this["right"+rightID].x,this["right"+rightID].y);//绘制线条到右侧选项 this["left"+leftID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 answerAry[rightID]=leftID;//更新回答 rightID=-1;//重置左右选择索引 leftID=-1; lineNum++;//线条数量+1 if(lineNum==rightNum) { btnSubmit.visible=true;//显示提交按钮 } } } function ResetView(event:MouseEvent):void { mcRight.visible=false;//隐藏回答正确提示 txtTip.text="";//重置提示文本 btnSubmit.visible=false;//隐藏提交按钮 lineSprite.graphics.clear();//清空绘制线条 lineNum=0;//重置线条数量 answerAry=new Array(); for(var i:int=0;i { this["left"+i].gotoAndStop(1); } answerAry=new Array(); for(i=0;i { answerAry.push(-1); this["right"+i].isUse=false;//重置选项状态 this["right"+i].gotoAndStop(1); } } function CheckAnswerEvent(event:MouseEvent):void { var isRight:Boolean=true;//临时变量 for(var i:int=0;i { if(answerAry[i]!=rightAry[i])//如果连线不正确 { isRight=false; } } if(isRight==false)//如果有错误 { txtTip.text="连线有错误,请重新回答"; btnSubmit.visible=false;//隐藏提交按钮 lineSprite.graphics.clear(); lineNum=0; answerAry=new Array(); for(i=0;i { this["left"+i].isUse=false; } for(i=0;i { this["right"+i].isUse=false; } } else { btnSubmit.visible=false; txtTip.text=""; mcRight.visible=true; } } function GetRandomAry(ary:Array):Array//获取随机数组 { var tempAry:Array=new Array(); var templen:int=ary.length; var temp:int=int(Math.random()*100000)%ary.length; while(tempAry.length { tempAry.push(ary[temp]); ary.splice(temp,1); temp=int(Math.random()*100000)%ary.length; } return tempAry; } —————————————————————————— 16.代码编写完成后,使用Ctrl+enter预览内容 5.3 多重连线题的制作 5.3.1 涉及知识点 Graphics类及Shape类的使用,都是绘图常用的代码类影片剪辑元件的使用文本工具的使用按钮元件的使用和控制元件显示隐藏Array数组类的基本用法 5.3.2 制作步骤 1.打开Animate2022,Ctrl+n打开新建窗口,然后选择Actionscript3.0平台文档 2.在工具栏找到文本工具(快捷键t),在工具属性面板中选择静态文本,设置好文字颜色、字体及字号等内容,在舞台上点击放置一个静态文本框并输入文字“多重连线题”: 3.再放置一个静态文本,输入题目内容: 4.使用矩形工具(快捷键r)和文本工具(快捷键t)结合制作影片剪辑如图,文本工具用于输入选项: 5.转换为元件时选择对齐点在右侧居中,如图: 双击进入编辑后,在第2帧创建关键帧,调整矩形颜色,并在第1帧添加代码: stop(); 6.选择元件,设置实例名为left0 7.同样的方法,制作其它几个左侧的选项,如图: 8.依次设置其它元件的实例名为left1,left2,left3,如果有不同数量,也要按这个规律设置。 9.使用矩形工具(快捷键r)和文本工具(快捷键t)制作右侧的选项元件: 10.因为是右侧的元件,所以在转换为影片剪辑时对齐点要选择左侧居中位置: 同样进入元件编辑状态,添加第2帧,并调整颜色,添加代码: 11.设置右侧元件的实例名为right0 12.继续制作其它三个选项,实例名依次为right1,right2,right3 13.同样的操作方法,制作中间的四个选项,从上到下依次设置实例名为mid0,mid1,mid2,mid3 14.需要注意的是中间选项在转换为影片剪辑元件时,要选择对齐点在中心位置 15. 根据章节3.1中制作方法,分别制作提交按钮(实例名为btnSubmit),回答正确提示元件(实例名为mcRight),错误提示动态文本(实例名为txtTip) 16.选择所有的元件和对象,右键选择分散到图层,这时会自动生成按元件实例名或元件名或文本字符命名的图层,可以核对设置是否正确: 17.新建一个图层,设置图层名为AS,用来编写脚本,选择AS图层的关键帧,打开动作面板(快捷键F9) 18.在动作面板输入如下代码: ———————————————————————————— import flash.display.Sprite; import flash.events.MouseEvent; import flash.display.MovieClip; var answerAry:Array=new Array();//选项数组 var leftNum:int=4;//左侧选项数量 var rightNum:int=4;//右侧选项数量 var midNum:int=4;//中间选项数量 var ranLeftAry:Array=new Array();//左侧随机索引数组 var ranRightAry:Array=new Array();//右侧随机索引数组 var ranMidAry:Array=new Array();//中间随机索引数组 var idLeftAry:Array=new Array();//左侧索引数组 var idRightAry:Array=new Array();//右侧索引数组 var idMidAry:Array=new Array();//中间索引数组 var posLeftAry:Array=new Array();//左侧选项坐标数组 var posRightAry:Array=new Array();//右侧选项坐标数组 var posMidAry:Array=new Array();//右侧选项坐标数组 var lineSprite:Sprite=new Sprite();//连线容器 var leftID:int=-1;//当前选择的左侧选项索引 var rightID:int=-1;//当前选择的右侧选项索引 var midID:int=-1;//当前选择的右侧选项索引 var lineNum:int=0;//连线数量 var totalLineNum:int=8;//连线总数量 initView();//初始化视图 function initView():void { var i:int=0; mcRight.visible=false;//默认隐藏回答正确提示 btnSubmit.visible=false;//隐藏提交按钮 this.addChildAt(lineSprite,0);//将连线容器放到舞台中显示 for(i=0;i { posLeftAry.push([this["left"+i].x,this["left"+i].y]);//获取左侧选项坐标 idLeftAry.push(i);//添加左侧索引到数组 this["left"+i].gotoAndStop(1);//左侧选项跳转到第1帧 this["left"+i].isUse=false;//自定义属性,是否被选 this["left"+i].addEventListener(MouseEvent.CLICK,ClickLeftEvent);//左侧选项添加鼠标点击事件 } for(i=0;i { posMidAry.push([this["mid"+i].x,this["mid"+i].y]);//获取中间选项坐标 idMidAry.push(i);//添加中间索引到数组 this["mid"+i].gotoAndStop(1);//中间选项跳转到第1帧 this["mid"+i].useNum=2;//是否完成两条连线的绘制 this["mid"+i].isLeft=false;//自定义属性,是否被选 this["mid"+i].isRight=false;//自定义属性,是否被选 this["mid"+i].addEventListener(MouseEvent.CLICK,ClickMidEvent);//右侧选项添加鼠标点击事件 } for(i=0;i { posRightAry.push([this["right"+i].x,this["right"+i].y]);//获取右侧选项坐标 idRightAry.push(i);//添加右侧索引到数组 this["right"+i].gotoAndStop(1);//右侧选项跳转到第1帧 this["right"+i].isUse=false;//自定义属性,是否被选 this["right"+i].addEventListener(MouseEvent.CLICK,ClickRightEvent);//右侧选项添加鼠标点击事件 } ranLeftAry=GetRandomAry(idLeftAry);//获取左侧随机索引数组 ranRightAry=GetRandomAry(idRightAry);//获取右侧随机索引数组 ranMidAry=GetRandomAry(idMidAry);//获取中间随机索引数组 for(i=0;i { this["left"+i].x=posLeftAry[ranLeftAry[i]][0];//将左侧选项放到随机后的位置 this["left"+i].y=posLeftAry[ranLeftAry[i]][1]; } for(i=0;i { this["mid"+i].x=posMidAry[ranMidAry[i]][0];//将中间选项放到随机后的位置 this["mid"+i].y=posMidAry[ranMidAry[i]][1]; } for(i=0;i { this["right"+i].x=posRightAry[ranRightAry[i]][0];//将右侧选项放到随机后的位置 this["right"+i].y=posRightAry[ranRightAry[i]][1]; } btnSubmit.addEventListener(MouseEvent.CLICK,CheckAnswerEvent);//提交按钮的鼠标点击事件 mcRight.addEventListener(MouseEvent.CLICK,ResetView);//回答正确元件的鼠标点击事件 } function ClickLeftEvent(event:MouseEvent):void { var obj:MovieClip=event.currentTarget as MovieClip;//获取鼠标事件当前的选项 var t:int=int(obj.name.slice(4));//获取选项索引 if(obj.isUse==true)//如果选项已经被选,则不向后执行 { return; } if(leftID!=-1)//左侧索引不是-1说明已经选择过选项了 { this["left"+leftID].isUse=false; this["left"+leftID].gotoAndStop(1); } if(rightID!=-1)//如果右侧选项已经选择 { rightID=-1; this["right"+rightID].isUse=false; this["right"+rightID].gotoAndStop(1);//重置选项状态 } leftID=t; obj.isUse=true; obj.gotoAndStop(2);//当前选项跳转到第2帧 if(midID!=-1) { if(this["mid"+midID].isLeft==true) { obj.isUse=false; this["mid"+midID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 leftID=-1;//重置左右选择索引 midID=-1; return; } lineSprite.graphics.lineStyle(2,0x333333);//设置线条样式 lineSprite.graphics.moveTo(this["left"+leftID].x,this["left"+leftID].y);//移动绘制点到左侧选项 lineSprite.graphics.lineTo(this["mid"+midID].x-this["mid"+midID].width/2,this["mid"+midID].y);//绘制线条到中间选项 this["mid"+midID].gotoAndStop(1);//重置选项状态 this["mid"+midID].isLeft=true; obj.gotoAndStop(1);//重置选项状态 answerAry.push([leftID,midID]);//添加回答索引到数组 midID=-1;//重置左右选择索引 leftID=-1; lineNum++;//线条数量+1 if(lineNum==totalLineNum) { btnSubmit.visible=true;//显示提交按钮 } } } function ClickMidEvent(event:MouseEvent):void { var obj:MovieClip=event.currentTarget as MovieClip;//获取鼠标事件当前的选项 var t:int=int(obj.name.slice(3));//获取选项索引 if(obj.isLeft==true&&obj.isRight)//如果选项已经被选,则不向后执行 { return; } if(midID!=-1)//中间索引不是-1说明已经选择过选项了 { this["mid"+midID].isUse=false; this["mid"+midID].gotoAndStop(1); } midID=t; obj.gotoAndStop(2);//当前选项跳转到第2帧 if(rightID!=-1)//如果右侧选项已经选择 { if(obj.isRight==true) { this["right"+rightID].isUse=false; this["right"+rightID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 rightID=-1;//重置左右选择索引 midID=-1; return; } lineSprite.graphics.lineStyle(2,0x333333);//设置线条样式 lineSprite.graphics.moveTo(this["mid"+midID].x+this["mid"+midID].width/2,this["mid"+midID].y);//移动绘制点到中间选项 lineSprite.graphics.lineTo(this["right"+rightID].x,this["right"+rightID].y);//绘制线条到右侧选项 this["right"+rightID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 obj.isRight=true; answerAry.push([rightID,midID]);//添加回答索引到数组 rightID=-1;//重置左右选择索引 midID=-1; lineNum++;//线条数量+1 if(lineNum==totalLineNum) { btnSubmit.visible=true;//显示提交按钮 } } if(leftID!=-1)//如果右侧选项已经选择 { if(obj.isLeft==true) { this["left"+leftID].isUse=false; this["left"+leftID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 leftID=-1;//重置左右选择索引 midID=-1; return; } lineSprite.graphics.lineStyle(2,0x333333);//设置线条样式 lineSprite.graphics.moveTo(this["mid"+midID].x-this["mid"+midID].width/2,this["mid"+midID].y);//移动绘制点到中间选项 lineSprite.graphics.lineTo(this["left"+leftID].x,this["left"+leftID].y);//绘制线条到左侧选项 this["left"+leftID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 obj.isLeft=true; answerAry.push([leftID,midID]);//添加回答索引到数组 leftID=-1;//重置左右选择索引 midID=-1; lineNum++;//线条数量+1 if(lineNum==totalLineNum) { btnSubmit.visible=true;//显示提交按钮 } } } function ClickRightEvent(event:MouseEvent):void { var obj:MovieClip=event.currentTarget as MovieClip;//获取鼠标事件当前的选项 var t:int=int(obj.name.slice(5));//获取选项索引 if(obj.isUse==true)//如果选项已经被选,则不向后执行 { return; } if(rightID!=-1)//右侧索引不是-1说明已经选择过选项了 { this["right"+rightID].isUse=false; this["right"+rightID].gotoAndStop(1); } if(leftID!=-1)//左侧索引不是-1说明已经选择过选项了 { leftID=-1; this["left"+leftID].isUse=false; this["left"+leftID].gotoAndStop(1); } rightID=t; obj.isUse=true; obj.gotoAndStop(2);//当前选项跳转到第2帧 if(midID!=-1) { if(this["mid"+midID].isRight==true) { obj.isUse=false; this["mid"+midID].gotoAndStop(1);//重置选项状态 obj.gotoAndStop(1);//重置选项状态 rightID=-1;//重置左右选择索引 midID=-1; return; } lineSprite.graphics.lineStyle(2,0x333333);//设置线条样式 lineSprite.graphics.moveTo(this["right"+rightID].x,this["right"+rightID].y);//移动绘制点到右侧选项 lineSprite.graphics.lineTo(this["mid"+midID].x+this["mid"+midID].width/2,this["mid"+midID].y);//绘制线条到中间选项 this["mid"+midID].gotoAndStop(1);//重置选项状态 this["mid"+midID].isRight=true; obj.gotoAndStop(1);//重置选项状态 answerAry.push([rightID,midID]);//添加回答索引到数组 midID=-1;//重置左右选择索引 rightID=-1; lineNum++;//线条数量+1 if(lineNum==totalLineNum) { btnSubmit.visible=true;//显示提交按钮 } } } function ResetView(event:MouseEvent):void { mcRight.visible=false;//隐藏回答正确提示 txtTip.text="";//重置提示文本 btnSubmit.visible=false;//隐藏提交按钮 lineSprite.graphics.clear();//清空绘制线条 lineNum=0;//重置线条数量 answerAry=new Array(); for(var i:int=0;i { this["left"+i].isUse=false;//重置选项状态 } for(i=0;i { this["mid"+i].isLeft=false; this["mid"+i].isRight=false;//重置选项状态 } for(i=0;i { this["right"+i].isUse=false;//重置选项状态 } } function CheckAnswerEvent(event:MouseEvent):void { var isRight:Boolean=true;//临时变量 for(var i:int=0;i { if(answerAry[i][0]!=answerAry[i][1])//如果连线不正确 { isRight=false; } } if(isRight==false)//如果有错误 { txtTip.text="连线有错误,请重新回答"; btnSubmit.visible=false;//隐藏提交按钮 lineSprite.graphics.clear(); lineNum=0; answerAry=new Array(); for(i=0;i { this["left"+i].isUse=false; } for(i=0;i { this["right"+i].isUse=false; } for(i=0;i { this["mid"+i].isLeft=false; this["mid"+i].isRight=false;//重置选项状态 } } else { btnSubmit.visible=false; txtTip.text=""; mcRight.visible=true; } } function GetRandomAry(ary:Array):Array//获取随机数组 { var tempAry:Array=new Array(); var templen:int=ary.length; var temp:int=int(Math.random()*100000)%ary.length; while(tempAry.length { tempAry.push(ary[temp]); ary.splice(temp,1); temp=int(Math.random()*100000)%ary.length; } return tempAry; } ———————————————————————————— 19.代码输入完成后,Ctrl+enter后即可预览运行效果 总结及注意事项 新建文档后一定要关闭高级图层模式Graphics类的使用是很重要的,要仔细看官方帮助学习文本框类型一定要正确,区分静态文本、输入文本和动态文本字体如果不选择使用设备字体一定要嵌入字体实例名要注意大小写问题,否则会出现未定义的错误提示制作步骤适用于所有支持AS3脚本的Animate软件或Flash系列软件使用的软件必须是完整版本的软件,如果是绿色版本,则可能不支持AS3脚本的运行和编译一定要自己输入所有的代码,不要直接复制,学习代码就是一个不断纠错的升级过程!!! 举报/反馈
蓝花楹的浪漫
蓝花楹的浪漫
蓝花楹的浪漫
蓝花楹的浪漫
蓝花楹的浪漫
蓝花楹的浪漫
举报/反馈
极目新闻评论员 徐汉雄
11月6日晚,郑州市召开新冠肺炎疫情防控新闻发布会,郑州市中原区桐柏路街道平安街社区党总支书记刘红英书记发言,讲述自己错过了女儿18岁生日,缺席了女儿成人礼。(据11月7日顶端新闻)
这个发言上了热搜,引来不同解读。有网友认为,缺席女儿成人礼不算多感人的事,拿到新闻发布会上讲,似乎不够“有料”,因为不能打动人心,体现不了社区疫情防控工作的辛苦。相反,还有网友认为,这个发言不接地气,有不食人间烟火之感,因为被封控的居民所经历的困难,也许远远比这个缺席女儿成人礼大多了,讲这样的一个情节,难言体察了社情民意。
社区书记在发布会上讲,缺席了女儿成人礼(来源:视频截图)
刘红英讲自己的亲身经历,本意是讲社区工作的不易,希望能得到一些理解。她在讲缺席女儿的成人礼之后,还讲了女儿的反应。女儿跟她说,她在家里好得很,也希望妈妈爱自己多一点。然后,女儿又说,她第一次感觉,妈妈让她很骄傲。这话或许有这样一层意思,她为抗疫奉献,不能陪伴女儿,却是女儿最好的成人礼,让女儿一下子长大了,知道妈妈的工作有意义,为妈妈感到骄傲。
网上的发言录音,也有断章取义之嫌。据报道,刘红英还提到,有志愿者连续6天负责核酸检测,第6天测出阳性。得知这个事情,刘红英流泪了,她给志愿者发去信息抱歉。这同样是说明基层防疫的辛苦,有看不见的付出与奉献。
刘红英的发言引来争议,这也说明,讲好基层抗疫故事很重要,做得好也要讲得好,才能得到更多的理解。刘红英只是一名普通的社区书记,有的社区基层工作人员,日常事务处理得多,可能并不擅长在台上发言。即便发言未获共情,也不影响大家对基层工作不易的体谅。实际上,网友大多对基层工作的辛苦表示理解,只是觉得“缺席女儿成人礼”的感人效果欠佳。
今年4月,上海一位社区书记马胜烨连续多天满负荷工作,工作却遭到误解,凌晨发文欲辞职。所在社区居民看到后,“接龙”写下15000余字留言奋力挽留。这也说明,居民平时吐槽归吐槽,但人心有杆秤,对基层工作的不易是看在眼里的,有误解也不影响理解。
社区书记在发布会上发言(来源:视频截图)
上海这位社区书记写过一肚皮苦辣酸甜,诸如一栋楼封不封、什么时候封,他知道的不会比居民早多少,但居民的发问让他招架不住,“封楼了为什么事先不告诉我们?”“我们现在怎么活?”还有更辛辣的,“你这种人怎么有水平在这里做书记?”
他也说过自己的家事,“我母亲是大病独居老人,家里还有没有菜,不知道;儿子高二了,倒不太担心,总能自己弄点吃的”。
社区书记被称为“小巷总理”,上面千条线,下面一根针,直接面对基层群众,要说脱离实际,不食人间烟火,还真可能误解他们了。他们也有家庭,有家人要牵挂,抗疫期间,“突然觉得,能回家换身衣服、洗个澡,是多么幸福的事情。”他们不怕生活苦,就怕不被理解。
缺席女儿成人礼没有引发共情,只是这个基层抗疫故事未打动人心。但对一线的基层抗疫人员,不妨多些理解。当然,基层工作如何做到更细致入微,做到群众心坎上,多些及时响应、主动服务,以少些误解,也是一个工作方式方法问题。
上海那位社区书记也说了工作上的“甜”,误解归误解,当居民喊出一起加油时,他的心就暖化了。所以,面对困难,还是一起加油!挺过疫情期间的困难,大家就都能与家人团聚,回归正常的生活状态。
(来源:极目新闻)
更多精彩资讯请在应用市场下载“极目新闻”客户端,未经授权请勿转载,欢迎提供新闻线索,一经采纳即付报酬。
举报/反馈
一位发言人在公开的防疫发布会上,居然痛诉自己错过了女儿的成人礼,这是什么样的概念?
众所周知,发布会是严肃而严谨的,需要人们用认真的态度对待,对发言人尤其是,可是郑州这位发言人,居然在发布会上试图煽情让群众心疼她和她的女儿?
我想,恐怕她错在哪儿了自己都不知道!也许还会怪群众,怎么就不能共情呢?
(本文配图均来自网络)
有人拿出电视剧中知名的台词来诠释,恰巧与这位女发言人的态度如出一辙:你失去的只是两条腿,而她失去的可是爱情啊!
瞧瞧,是不是真有那个味儿?
用更古典的一句话来说,那就是“何不食肉糜”!普通人连生活都困难了,你却还想着要给自己的女儿举办成人礼?
不是说给孩子过生日不重要,只是在疫情这一个特殊时期,还有人可以公然聚集那么多人?那更早前因为参加葬礼被罚的人,他们又错在哪儿了?
难道就因为你是社区工作人员,是防疫发布会上的正式发言人,你的女儿就和别人家的女儿不一样,需要特别优待吗?
我想要不是脱离群众已经太久,绝对说不出这样的话!
更多的普通人,在遵守规矩的同时靠自己承担着房贷车贷的压力,更加普通的基础工作者,他们停工就意味着停薪,别说过生日了,一天吃上一顿荤菜都成奢侈。
请问这位发言人,你有考虑过在猪肉价格几十一斤的前提下,那些普通人的生活吗?
试问你女儿的成人礼,要用到多少斤猪肉?你一个普通劳务者的工资能支撑得起吗?还是要靠志愿者传播你女儿成人礼去收回更多的随礼?
我想我也是脱离这一类发言人的生活太久了,或者说从没有体会过,所以并不知道在这种特殊时期,大部分人发愁工资的同时,他们并不需要为生活忧虑,因为工资是保障,养老不必愁,住房和吃穿用度都有优待,你说他们何必跟普通人共鸣?
曾经去过一个单位食堂,那里的物价简直羡煞人也,早餐油条几毛钱一根,两三块吃的比外面餐厅几十块都好!
这些福利的源头,不是因为你们在付出,是因为更多的人在付出,在缴纳他们的税收,试问这位发言人还记得饮水思源这个词吗?
成人礼这三个字,已经脱离了很多普通人的生活,因为大多数人的生日只是吃一顿稍微好点的,甚至有些人压根就不过生日。可因为你的女儿特殊,所以哪怕在这样的特别时候,也想着过成人礼?
对不起,我想我是误会发言人的用词了。她说的是她错过了女儿的成人礼,不代表她女儿的成人礼没有举办成功。
为何明明是这样煽情应该让人感动的措辞,评论区里却是一片嘲讽和讥笑?难道真的是因为我们不能共情吗?
郑州的普通人,他们实在是太善良了,善良到哪怕明知富士康出来的员工也许有风险,也愿意送上自己家的食物和饮料,并且那些货车司机冒着风险都要送他们回家。
爱跟爱比起来,怎么有这样多的局限和狭隘?
为女儿过生日并不该苛责,我们厌恶的只是拿情感来绑架他人的道德,或许这位发言人忘记了,疫情当前大家都那么辛苦,如果你觉得你的工作让你牺牲太多,完全可以辞职。
不要既享受了工作带来的福利,又诉苦说自己多么不容易。真那么委屈,辞职倒是个好选择。
矫情的话少说一些,多做一点为大家考虑的实事,才会真的得到感谢,才能真正实现在这岗位上的价值。那样,你不煽情,我们都共情!
举报/反馈
11月6号,郑州一场疫情防控发布会上,平安街社区书记刘红英在叙述完社区工作之后,不禁动情讲述起前几天是她女儿的18岁生日,然而她却因工作缺席了女儿这重要的仪式。
本来一次普通的社区工作汇报,却因这一发言瞬时通过网络传遍了天下,但这小小的“遗憾”却并没有得来想象中公众的“同情”,很多人反而痛斥对方何不食肉糜,网络上掀起了惊涛骇浪。
“把芝麻大的事情在公开场合讲,以为可以感动全世界,其实只是感动了自己。”
“自导自演的心痛给谁看。”
“愣着干嘛,还不快祝书记刘红英家的千金大小姐生日快乐。”
因为大多数网友都觉得这是工作场合,不是卖惨环境,这个故事并不应该出现在此,不仅打动不了群众,反而让人嗤之以鼻。
“刘书记可能以为她参加的是劳模表彰大会,不是疫情防控发布会。”
“她作为一个社区书记可能确实在本社区的工作挺优秀的。可是为甚么在市发布会上,觉得这事可以大书特书?”
“她可能确实做了些有用的事情。在社区里说是没错的,但社区以外的人是很难和你共情的。”
事情到此其实应该告一段落了,可能当时刘书记就是情到不能自已了,怀着对女儿的愧疚脱口而出这段话,场合不太适合,但是也能理解。
但刘书记接下来的操作却让这件事更上质疑的高峰。
她并没有因为网络上的舆情而对自己的行为有一丝丝反思,反而直接放出了自己群里给自己点赞的聊天截图的视频。
群里不少人都在赞扬刘书记。
“别的我不知道,我们书记说的绝对都是实话。”
“书记是真情实感,要不是时间限制,我们社区的事可以讲三天三夜。”
“总有一些键盘侠没事就爱叨叨,只要对得起群众对得起良心就好了。”
然而网友却并没有按刘书记所想的,开始在众口称赞里调转方向,反而意见纷至沓来。
“拍马的话她当真了,在体制内太久了一直受人吹捧完全脱离了群众。”
“把一群拍马屁的还发出来沾沾自喜。”
“发到别的群里试试,看有人给你点赞不。”
“够偏执的,百姓越骂她越发。早晚完蛋。”
“建议再学一遍“邹忌讽齐王纳谏”:吾妻之美我者,私我也;妾之美我者,畏我也;客之美我者,欲有求于我也。”
不得不说,如果不是刘书记后面这番操作,只看前面的话,可是也会觉得刘书记有些冤枉,可能确实在社区做实事而错过了一些生活里的珍贵瞬间,感觉委屈,不小心秃噜嘴了。
但这么大的发布会上,将公事与私事一起提及,确实也不是很合适的处事道理,被讨论也是情理之中。作为书记,更应该反思一下下次的发言方式。
可她却为了反驳网友,故意发布了一则相反的视频,有人一肚子火气没地发泄,而她恰好满脸自豪迎头赶上。
你怎么看待这件事呢?
举报/反馈
鲁迅先生说过:人类的悲欢并不相通。
郑州的一场疫情发布会,又印证了这一点。
11月6日,郑州疫情发布会上,中原区桐柏路街道平安街社区的刘红英动情的讲述,“感动”了网友。
不得不说,河南郑州的疫情发布会,开得太“煽情”,太有特色了!
视频中,刘红英声情并茂地说自己多少个日日夜夜一直在社区工作,缺席了女儿的成人礼,还感谢好多志愿者,因为大量志愿者帮她转发了朋友圈,并给她女儿送上了祝福!
刘红英的这番言论一出,立即引发热议并迅速登上热搜榜。
不少网友在评论区留言:你缺席了女儿的成人礼的同时,有人缺席了自己爷爷奶奶的葬礼。
还有人留言:这么高大上的东西,有必要炫耀吗?
还有人留言:既然觉得不能陪女儿过生日很委屈很难过,那就辞职回家陪女儿去。
写到这里,月月突然想起《潜伏》电视剧中吴敬中的那句经典台词:
本来想露个脸的,结果把屁股给露出来了!
其实,这次郑州疫情发布会,让一个来自基层的干部登台发言,我相信她的工作是很努力,很出色的。
安排一个基层女干部发言,一个是基层人员和群众接触比较多,也是让她讲下基层工作的困难和不易,大家互相体谅、一起战胜疫情。
郑州因为疫情防控,两次被点名批评。
最近几次疫情发布会讲的,始终都不是人民群众真正关心的。老百姓不需要听这些虚头巴脑的内容,大家需要的,不是你所谓的煽情,乱打感情牌,而是解决老百姓现实的问题。
有些人有地方卖惨,老百姓的苦哪里去诉说?
他们的眼泪谁能看到,他们的哭声谁能听见?
谁来跟他们共情,谁来为他们暖暖心?
因为疫情,很多郑州市民被封在家里近一个月,很多人都在为房贷、收入、吃饭等现实问题焦头烂额。
很多同龄农村的富士康孩子,可能正拖着行李,顶着寒风,流着眼泪,徒步几十个小时走在返乡路上。很多陌生的网友看到这一幕,都忍不住落泪,更何况他们的父母,得有多心疼?
当大家在水深火热中苦苦支撑的时候,这位基层干部,却在发布会上大谈自己为了防疫工作,错过了女儿的18岁生日。
可能,错过了女儿的生日,对她来说已经是非常“感动的事迹”了。
一边是老百姓被禁锢在小小的房间里、在过着比较基础的需求——养家糊口;另一边在准备比较高的需求——成人礼。
这种比较,会让很多人有不适感。
何不食肉糜。
就像有位网友说的:还是郑州人民不懂事,不能体会人家过成人礼的仪式感。
也不知道是哪位大聪明出的主意,让社区女干部当着全市居家20多天群众的面,委屈巴巴地说自己错过了女儿的成人礼。
当这种没有多少社会感动力的“感动事迹”,被高光释放到社会,在公众非常关心、甚至不满的政策发布会上宣讲,想借此“感动公众”,想让大众为她共情时,民众当然会觉得好笑又好气。
某些干部真的是飘在空中太久了,根本看不到身在尘烟中的百姓。
或许他们并不是刻意,这也许就是他们的生活日常,他们的生活早就已经脱离了大众,思想也早就与普通百姓划分好了界限。
在发布会上,发言人就是父母官,一言一行代表的是政府的公信力和做事的态度。
郑州这场被两次点名之后的发布会,竟还想着用卖惨的方式去博得群众共情。
这是一个信息公开透明的发布平台,不是春晚里强行煽情的演技大舞台。
这样的眼泪,还是不要轻流。因为,它真的只能感动自己。
只要把人民关心的事情做好,将心比心的换位思考,不需要宣传,人民会自发宣传送锦旗。
——END——
举报/反馈
成人礼这东西我家连想都没想过
我十八九吃了顿海底捞,那是我第一次吃到这么好的火锅
河南有多少人有成人礼?
如果错过成人礼值得被拿出来博取同情,让那些长年不跟父母一起的留守儿童怎么想?他们的父母该找谁哭诉呢?
自我感动是会上瘾的
这位主任都自我感动魔怔了,以为别人会跟她一起感动
有人说哪怕只说一句错过了女儿的十八岁生日,效果都没这么差。
个人认为,错过生日也不应该说,除非错过父母的最后一面这种白事情,才可能会引起大家的共情?
和孩子过个生日拿出来说?真搞笑。是不是以后还会有,错过了和多年好友的聚餐这种狗屁言论的出现呢?
虽然很多人上班的时候都在混日子,但是有些工作性质注定了你得舍弃一些东西,不想舍弃,辞职就完了。
如果我们的兵哥哥说因为演习错过了回家和父母吃饭这种话,会受到啥样的后果?我们不是漂亮国,我们是集体优先。
去了解了一下,这个人其实干的不错,她的社区也管理的挺好的,在郑州这个情况下她真的很负责任了
但是那么多例子,志愿者睡纸箱,社区主任连轴工作36小时…这些例子不说,非挑那个成人礼说,是真的分不清什么能感动自己,什么能感动他人
社区工作人员大多数确实辛苦,我朋友那里的社区工作者和志愿者一共15个人阳的剩了4个人,忙的要死还是想办法抽时间安排摔断了几根肋骨的居民去医院
但遗憾的是,这位委屈的错过女儿成人礼的妈妈,把这些辛苦工作的人们的功劳差不多都给抹杀了
其实有些人真得反思一下了,公务员,到底意味着什么?
大家对公务员这个职业的印象是稳定,没压力,到点就走,不担责?
考的时候怎么可以就这么想?你要成为公务员,就不能把小家放在第一位,不能把女儿的成人礼放在第一位,如果要放在第一位,就该做好辞职的准备
工作人员不是神,当然可以有七情六欲,但是得分清主次,分清轻重缓急吧。
成人礼还可以补过,但有些人的生命就这样没了。
有自己的情感肯定没错。
但好歹也该明白能力越大责任越大的道理
举报/反馈
郑州的防疫措施确实是过于“一刀切”了,现在也在积极纠正,积极道歉当中,昨天官方召开了一场新闻发布会,而发布会的发言人刘官员火了,说到动情之处还数次哽咽,平复情绪之后才得以继续了。
刘官员在这场新闻发布会中说了自己辖区的居民有很多,而自己和同事们夜以继日地工作也非常的辛苦,结果话锋一转突然说道:“前几天是我女儿18岁生日,然而我却缺席了她的这场成人礼,之后她给我发来了一段视频,说我在家里好得很,让我多爱自己一点,我转发朋友圈得到很多人的点赞支持”!
说到这里她被自己说哭了,数次哽咽,台下记者也质疑地看着她。
刘官员的意思是想说明自己和同事们很辛苦,自己连女儿的成人礼都缺席了,而同事们和其他人也有很多像自己一样错过了很多陪伴家人的机会,想用自己的不容易顺带说出大家的难处,以博取共情。
其实刘官员大可不必拿自己的事情作煽情,针对这场官方的新闻发布会你就事论事就可以了,有一说一实事求是就行,这样强行加剧情有作秀的嫌疑,许多人会这样想,你错过的只是自己女儿18岁的成人礼,而我们却错过的更多,工资停发,花大钱买小菜,各种支出都没有停,要明白这是道歉的发布会,不是作秀会。
看得出这次发布会她几乎都是素颜出镜,这也确实难为她了,
刘女士的言论在网上火了以后她也是自己选择的无视,说自己反正是没有微博的,网上他们说什么我都看不到也听不到,这作秀感觉十足啊,女儿18岁生日很重要,但是跟郑州当下的遭遇相比,真是何不食肉糜了。
这里说明一下,有些学校是18岁办成人礼作为学生,学校办就参加,不用细究任何东西,但这是一个把这件事放在和千万人生计同等重要的官方发言,那么应该搞清楚成人礼到底什么习俗,什么礼制。
不顾民生,还拿件可有可无还不合礼制的事感动自己,只能显得自己没文化并可笑。 无知不可怕无能才可怕!
举报/反馈
2022年11月7日,在郑州疫情的新闻发布会上,刘红英书记用几十秒中的时间大谈自己错过了女儿的18岁成人礼;画面中,她神情哀伤、声音哽咽,狠狠地自我感动了一番,似乎想以自己的家庭小故事引发人们的共情。
然而,刘书记的这番讲话却适得其反,引发了网友们普遍的不满,甚至有网友直接破口大骂:“其他人吃不饱穿不暖,也去不了医院,乃至出不了大门、领不了工资,你却说你缺席了女儿18岁成人礼!”“就这主任的心态,要指望她为人民服务,那可真是天方夜谭!”“可见其有多么脱离群众,连卖惨都这么浮夸!”“ 你们真心关心防疫这件事了吗?”
还有网友冷嘲热讽道:“你缺席的是父母的葬礼,我缺席的可是女儿的成人礼!”“这也太委屈了吧,还是不要当官了,安心回家陪孩子吧!”“又有多少老百姓会参加什么成人礼呢?他们可能听都没有听说过!”“在天上待久了,不懂人间疾苦!”
此外,原视频中还有一个小细节:该书记的女儿还在悠闲地养猫,这更加加重了网友们的不满。
笔者认为,网友们的激烈反应是合情合理的。
在疫情的新闻发布会这样的正式场合上,该书记竟然堂而皇之地谈论其私事,而且还是不能参加女儿的成人礼这种无关紧要的事;在疫情之下,很多普通老百姓连吃饭都成问题,更不用说过生日、搞庆祝了。因此,在这种强烈的反差和割裂之下,该书记的言论怎么能不引起人民群众的愤慨,又怎么可能引发人民群众的共情?
有人可能会辩解说:女儿的18岁生日是其人生的一件大事,只有那么一次,家长理应尽可能地参与其中。如果是在正常情况下,笔者相信绝大多数人都不会否认这一点;但是,在疫情之下,该书记完全忘记了自己是作为一个公众人物,作为人民的代表在发声,其言论却根本就不能够代表人民!而人民群众绝不会支持脱离了人民的代表!
总而言之,笔者认为,该书记的言论过于不合时宜,于是导致了与其所设想的完全相反的结果,这可真是自食其果、自作自受!
各位读者又如何看待刘书记的“卖惨”呢?欢迎在评论区留言讨论!
举报/反馈