浪子阿桂 2008-7-2 13:48
我要找一下FLASH的高手..
我要找一个FLASH的高手.是语句类的高手...
因为我是一个菜鸟.我这有一个程序..我不明白里面的语句的意思..
所以想找一个有耐心.(因为我比较笨.一遍可能听不懂.).的FLASH语句高手..谢谢..
有帮忙的请回贴.谢谢..
浪子阿桂 2008-7-2 14:22
function show_all() {
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.show_it();
}
}
function hide_all() {
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.hide_it();
}
}
function disable_all() {
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.enableClick = false;
}
}
function enable_all() {
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.enableClick = true;
}
}
function shuffle_all() {
for (var i = 1; i < 100; i++) {
var tempA = Math.floor(Math.random() * 10000) % mc_num + 1;
var tempB = Math.floor(Math.random() * 10000) % mc_num + 1;
if (tempA != tempB) {
var mcA = _root["m" + tempA];
var mcB = _root["m" + tempB];
var tempX = mcA._x;
var tempY = mcA._y;
mcA._x = mcB._x;
mcA._y = mcB._y;
mcB._x = tempX;
mcB._y = tempY;
}
}
}
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.enableClick = false;
mc.show_it = function() {
this.gotoAndStop(2);
};
mc.hide_it = function() {
this.gotoAndStop(1);
};
mc.onPress = function() {
if (this.enableClick) {
this.show_it();
if (last_mc != undefined && last_mc != this && last_mc.g == this.g) {
last_mc.show_it();
this.show_it();
last_mc.enableClick = false;
this.enableClick = false;
last_mc = undefined;
game_progress--;
if (game_progress == 0) {
trace("Game over!");
replay_btn._visible = true;
}
} else {
if (last_mc != undefined && last_mc != this && last_mc.g != this.g && game_level > 1) {
disable_all();
this.show_it();
var x = 0;
onEnterFrame = function () {
if (x++ > 10) {
hide_all();
enable_all();
game_progress = mc_num / 2;
last_mc = undefined;
delete this.onEnterFrame;
}
};
return;
}
last_mc.hide_it();
last_mc = this;
}
}
};
}
replay_btn.onPress = function() {
hide_all();
this._visible = false;
start_btn._visible = true;
};
start_btn.onPress = function() {
shuffle_all();
show_all();
interObj = setInterval(game_start, 10000);
this._visible = false;
};
function game_start() {
clearInterval(interObj);
hide_all();
enable_all();
game_progress = mc_num / 2;
}
浪子阿桂 2008-7-2 15:02
同志我发到别的区让版主给我删啦.所以我发在这个区..想让同志们帮帮我...
liangliang 2008-7-2 15:14
你可以说哪句不太明白,但是如果你都不明白 那现在即使告诉你了,写注释了 你也看不懂~
~~如果你真的想学 还是从最基础的学习开始,如果你连循环语句 条件语句 这些都不懂的话就从基础的程序学起 别一下就弄这么复杂的~
浪子阿桂 2008-7-2 15:22
汗..循环我会.我指的是调用时的一些词语我不会.它的功能我不能明白..
这本是一个游戏的代码..调用本身的意义我不明白.
liangliang 2008-7-2 15:28
这个程序不难的~ 大部分语句都很简单 可能语句的功能方面要仔细的看下 你哪里看不懂呢?
浪子阿桂 2008-7-2 15:39
程序的开始部分是定义调用.然后是程序的开始是FOR循环.在FOR循环中引用了上面所定义的调用词语..
我不明白的是它定义的这些都起到什么作用.这本是一个FLASH记忆游戏源文件中的一段程序..但我看不懂它所定义的这些在游戏中都起到什么作用或是它所代表的是什么..
我把源文件发上来吧.附件里就是...大侠你看一下...
jisekai 2008-7-2 16:06
简单说一下这个游戏的思路啊。。
每个MC都有一个成员变量,按照它们的值来判断两个牌是否相等。
一个变量记录点中次数
游戏开始 让12个MC随机出现在12个位置。 当第一次点击,相应MC.gotoAndStop到第二帧(翻牌)。记录当前MC的成员变量。当第二次点击,相应MC.gotoAndStop到第二帧(翻牌)。判断MC与之前MC的成员变量是否相等,成立清空记录点中次数变量(继续),一直到所有MC都gotoAndStop到第二帧那么过关。否则清空记录点中次数变量(重新开始)所有MC都gotoAndStop到第一帧。
浪子阿桂 2008-7-2 16:09
我发一下这个程序我的基本理解..呖.其实也不算是我的理解.是别人给帮助我的理解...各位大侠看看哪不对或是准确的给点意见..谢谢..
........................................................
/*
全局函数声明
*/
function show_all() { // 全部显示图案
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.show_it();
}
}
function hide_all() { // 全部显示黑框
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.hide_it();
}
}
function disable_all() { // 全部设置不可点击
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.enableClick = false;
}
}
function enable_all() { // 全部设为允许点击
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.enableClick = true;
}
}
/*
给出开始的元件
*/
function shuffle_all() {
for (var i = 1; i < 100; i++) { //执行以下操作100次
var tempA = Math.floor(Math.random() * 10000) % mc_num + 1;
var tempB = Math.floor(Math.random() * 10000) % mc_num + 1; //任取 1~mc_num 中的两个整数
if (tempA != tempB) { //不等,执行以下操作
var mcA = _root["m" + tempA];
var mcB = _root["m" + tempB]; //定义 mcA、mcB
var tempX = mcA._x;
var tempY = mcA._y;
mcA._x = mcB._x;
mcA._y = mcB._y;
mcB._x = tempX;
mcB._y = tempY; //交换两个元件的位置
}
}
}
for (var i = 1; i <= mc_num; i++) {
var mc = _root["m" + i];
mc.enableClick = false; // 将 m1、m2....... 元件设置为不可点击
mc.show_it = function() {
this.gotoAndStop(2);
}; //如果设置了show_it 属性就停留在元件的第2帧
mc.hide_it = function() {
this.gotoAndStop(1);
}; //如果设置了show_it 属性就停留在元件的第1帧
mc.onPress = function() { //点击此元件时,运行:
if (this.enableClick) { //若可以点击鼠标,
this.show_it(); //执行show_it函数(意义如上……)
if (last_mc != undefined && last_mc != this && last_mc.g == this.g) {
//判断 last_mc 是被定义了并且不为当前点击的图标且这两个元件的g属性(就是点对了)相同?若是,
last_mc.show_it(); //对 last_mc 元件执行 show_it 函数,
this.show_it(); //对 m&str(i) 元件执行 show_ti 函数,
last_mc.enableClick = false;
this.enableClick = false; //使这两个元件不可点击
last_mc = undefined; //强制设置 last_mc 为未定义
game_progress--; // game_progress 自减
if (game_progress == 0) { //若 game_progress =0,
trace("Game over!"); //输出 game over
replay_btn._visible = true; // replay 按钮可见
}
} else { //若否,
if (last_mc != undefined && last_mc != this && last_mc.g != this.g && game_level > 1) {
//若 last_mc 已被定义,且last_mc不是当前点击元件,且 last_mc 的 g 属性不是当前点击元件的g属性(就是第二个点击的是错的),并且game_level变量大于1
disable_all(); //所有图标不可点击
this.show_it(); //显示当前图标
var x = 0; //设置变量x
onEnterFrame = function () { //设置 onEnterFrame 属性
if (x++ > 10) { //x自加,且若x+1>10,执行以下操作
hide_all(); //隐藏所有图形
enable_all(); //所有元件允许点击
game_progress = mc_num / 2; //设置 game_progress
last_mc = undefined; //设置 last_mc 未定义
delete this.onEnterFrame; //删除此属性
}
};
return;
}
last_mc.hide_it(); //隐藏 last_mc
last_mc = this; //将当前赋为 last_mc
}
}
};
}
replay_btn.onPress = function() { //按下重玩按钮:
hide_all(); //隐藏所有
this._visible = false; //当前按钮不可见
start_btn._visible = true; //开始按钮可见
};
start_btn.onPress = function() { //按下开始按钮
shuffle_all(); //重新放置
show_all(); //显示所有
interObj = setInterval(game_start, 10000); //大概延时 10s
this._visible = false; //当前按钮不显示
};
function game_start() {
clearInterval(interObj); //这个不懂
hide_all(); //隐藏所有图案
enable_all(); //允许所有按钮点击
game_progress = mc_num / 2; //设置 game_progress
jisekai 2008-7-2 16:20
clearInterval(interObj); //这个不懂
删除延时调用