点击浏览该文件经常看到VB做的情书生成器,其实用flash的组件也很轻易实现。而且相比之下,体积更小,界面美观,便于网上传播。
FlashMX提供了常用的七种组件:FCheckBox(复选框)、FComboBox(组合框)、FlistBox(列表框)、FRadioButton(单选钮)、FscrollBar(滚动条)、FScrollPane(图片滚动条)、PushButton(按钮)以及自定义组件。本实例用到其中的复选框,组合框,单选钮,滚动条,按钮。
思路:预备两篇文章,分别是给男生的情书和给女生的情书,将其中要害部分引用变量。再将两篇文章做为字符串赋值给两个变量。
用getValue方法获得单选钮的data,判定显示哪篇文章。
制作过程:
1.绘制界面:Ctrl+F7打开组件面板,拖动组件到场景,绘制共五帧的界面。
帧1,两个单选钮和一个按钮参数设置如下:
label Group Name Data Change Handler
男 first 1 clicked
女 first 2 clicked label Click Handler
下一步 nfirst
帧2,用于设置男方的特征。
他的姓名:输入文本框,实例名:hisname,变量名:tohisName
眼睛类型:ComboBox(组合框),实例名:uihiseyes,在Labels加入标签,Row Count 填入数字,(显示可见行数)Change Handler 填入函数名gethiseyes。
头发类型:ComboBox(组合框),实例名:uihishair,设置Labels,Row Count,Change Handler中填入gethiseyes。
性格类型:五个CheckBox(复选框),参数设置如下
实例名 Label Change Handler
uihe1 痴情 gethe1
uihe2 木讷 gethe2
uihe3 吵闹 gethe3
uihe4 有趣 gethe4
uihe5 温柔体贴 gethe5
身材类型:四个Radiobutton(单选钮)
Label Group Name Data Change Handler
高大 manbody 1 gethisbody
瘦弱 manbody 2 gethisbody
武大郎 manbody 3 gethisbody
玉树临风 manbody 4 gethisbody
你的姓名:输入文本框,实例名:womanname,变量名:bywomanName
返回按钮:Click Handler:goback
生成情书按钮:Click Handler:writetohim
帧3,放置填写女方信息的界面,可仿帧2,
帧4,放置写给男生的情书,在场景中画一个动态文本框或输入文本框,实例名:hisletter,文本格式设为多行,可滚动。变量名:hislt。从组件中拖放一个滚动条,调整大小和位置,放在文本框右侧,Target textField设置hisletter。(这样便可实现文本滚动,在文本框中打入文字,便可以用右边的滚动条来控制滚动。)
帧5,放置写给女生的情书,可仿帧4。 2.填写代码:
帧1:
stop();
function clicked(){
varfirst=first.getValue();//取得data值
}
function nfirst(){
gotoAndStop(varfirst+1);//判定显示哪一篇文章
}
帧2:
stop();
hisname.border=1;
womanname.border=1;//给文本框加边框
function writetohim(){
gotoAndStop(4);
}//生成情书按钮,播放第4帧
function goback(){
gotoAndStop(1);
}//返回按钮,回来第1帧
function gethiseyes(){
hiseyes=uihiseyes.getValue();
}//返回组合框uihiseyes的标签赋值给变量hiseyes
function gethishair(){
hishair=uihishair.getValue();
}返回组合框uihishair的标签赋值给变量hishair
function gethe1(){
he1=uihe1.getValue();
if(he1=true){
he11=uihe1.getLabel();
}
}//假如选择复选框uihe1,将它的标签字符串赋值给变量he11
function gethe2(){
he2=uihe2.getValue();
if(her2=true){
he12=uihe2.getLabel();
}
}
function gethe3(){
he3=uihe3.getValue();
if(he3=true){
he13=uihe3.getLabel();
}
}
function gethe4(){
he4=uihe4.getValue();
if(he4=true){
he14=uihe4.getLabel();
}
}
function gethe5(){
he5=uihe5.getValue();
if(he5=true){
he15=uihe5.getLabel();
}
}
function gethisbody(){
manbodydata=manbody.getValue();
}//取得单选钮组manbody的值
if (womanbodydata=1){
manbodys="高大";
}else if(womanbodydata=2){
manbodys="瘦弱";
}else if(womanbodydata=3){
manbodys="武大郎";
}else if(womanbodydata=4){
manbodys="玉树临风"
}
帧4:
stop();
hisletter.border=1;//给文本框加边框
hislt="心爱的"+tohisName+":"+chr(13)+"我也是很爱你的。"+"我不是爱你的外表,你看,你只有一个无伤大雅的"+hishair+",和一对毫不起眼的"+hiseyes+",可是我爱你的,是你的内心,你的性格,你是那么的"+he11+he12+he13+he14+he15+",让我感到格外的开心。这足以让我忽视你或是不见你的"+manbodys+"的身材。"+chr(13)+"好了,就写到这里吧,我爱你的。"+chr(13)+"爱你的"+bywomanName//将情书赋值给变量hislt,让文本框显示出来
帧3或帧5可仿照此做,这样一个简单的情书生成器的功能就可以实现了。