if (penok0 == 1 && penok == 1) { for (i = 1; i <= 9; i = i + 1) { if (eval("xod" add i) == 1) { set("sq" add i, 1); penok = 0; tellTarget("/xxx/xxx" add i) { gotoAndPlay(2); } cxod = 0; i = 9; } } } if (penok0 == 1 && penok == 1) { if (cxod == 0) { call("OOO"); set("sq" add oxod, 0); penok0 = 0; tellTarget("/ooo/ooo" add oxod) { gotoAndPlay(2); } cxod = 1; } } pen.visible = penok; penO.visible = penok0;是什么意思
时间: 2024-02-14 13:32:18 浏览: 139
这段代码看起来和前面的代码很相似,但使用了 eval() 函数和 tellTarget() 方法,这些函数和方法在 ActionScript 3.0 中已经被废弃了。同时,这段代码的语法也有一些问题,例如 "add" 应该是字符串拼接符号,应该改为 "+"。
大致的意思与前面的代码类似:
- 如果 penok0 和 penok 都等于 1,那么循环 9 次,找到第一个 xod 等于 1 的属性,将对应的 sq 属性设为 1,将 penok 设为 0,播放名字为 "xxx" + i 的 MovieClip 的第二帧,将 cxod 设为 0。
- 如果 penok0 和 penok 都等于 1,且 cxod 等于 0,那么调用函数 OOO,将对应的 sq 属性设为 0,将 penok0 设为 0,播放名字为 "ooo" + oxod 的 MovieClip 的第二帧,将 cxod 设为 1。
- 根据 penok 和 penok0 的值,控制名为 pen 和 penO 的显示或隐藏状态。
总的来说,这段代码看起来是用来控制游戏中某些元素的显示和隐藏,但具体作用需要根据上下文来确定。
相关问题
if (penok0 == 1 && penok == 1) { for (i = 1; i <= 9; i = i + 1) { if (eval("xod" add i) == 1) { set("sq" add i, 1); penok = 0; tellTarget("/xxx/xxx" add i) { gotoAndPlay(2); } cxod = 0; i = 9; } } } if (penok0 == 1 && penok == 1) { if (cxod == 0) { call("OOO"); set("sq" add oxod, 0); penok0 = 0; tellTarget("/ooo/ooo" add oxod) { gotoAndPlay(2); } cxod = 1; } } setProperty("/pen", _visible, penok); setProperty("/penO", _visible, penok0);在flash中是什么意思
这段代码主要是用于实现井字棋游戏中的落子逻辑。具体解释如下:
- `if (penok0 == 1 && penok == 1)`:这是一个条件判断语句,如果满足条件,就会执行大括号中的代码。条件是 `penok0` 和 `penok` 的值都等于 1。
- `for (i = 1; i <= 9; i = i + 1)`:这是一个循环语句,它会执行 9 次。每次循环中,变量 `i` 的值从 1 到 9 递增。
- `{ if (eval("xod" add i) == 1) { set("sq" add i, 1); penok = 0; tellTarget("/xxx/xxx" add i) { gotoAndPlay(2); } cxod = 0; i = 9; } }`:这是循环体,它会在每次循环中执行。它使用 `eval` 函数动态地获取名字为 `"xod1"`、`"xod2"`、...、`"xod9"` 的变量的值,如果值等于 1,就将名字为 `"sq1"`、`"sq2"`、...、`"sq9"` 的变量的值设为 1,将 `penok` 的值设为 0,然后跳转到影片剪辑 `/xxx/xxx1`、`/xxx/xxx2`、...、`/xxx/xxx9` 并从第 2 帧开始播放。最后将 `cxod` 的值设为 0,将 `i` 的值设为 9,以结束循环。
- `if (penok0 == 1 && penok == 1)`:这是另一个条件判断语句,如果满足条件,就会执行大括号中的代码。条件是 `penok0` 和 `penok` 的值都等于 1。
- `{ if (cxod == 0) { call("OOO"); set("sq" add oxod, 0); penok0 = 0; tellTarget("/ooo/ooo" add oxod) { gotoAndPlay(2); } cxod = 1; } }`:这是另一个循环体,它也会在每次循环中执行。如果 `cxod` 的值等于 0,就会调用名字为 `OOO` 的函数,将名字为 `"sq1"`、`"sq2"`、...、`"sq9"` 中其中一个的值设为 0,将 `penok0` 的值设为 0,然后跳转到影片剪辑 `/ooo/ooo1`、`/ooo/ooo2`、...、`/ooo/ooo9` 中其中一个并从第 2 帧开始播放。最后将 `cxod` 的值设为 1。
- `setProperty("/pen", _visible, penok); setProperty("/penO", _visible, penok0);`:这是两个函数调用,它们分别将名字为 `/pen` 和 `/penO` 的影片剪辑的 `_visible` 属性设为 `penok` 和 `penok0` 的值。这样做可以根据游戏状态来显示或隐藏某些元素。
需要注意的是,这段代码使用了一些 ActionScript 2.0 特有的语法,例如 `eval` 函数、`tellTarget` 函数和 `_visible` 属性。在 ActionScript 3.0 中,这些语法都已被废弃或移除,需要使用不同的语法来实现相同的功能。
if (penok0 == 1 && penok == 1) { for (var i:int = 1; i <= 9; i++) { if (this["xod" + i] == 1) { this["sq" + i] = 1; penok = 0; MovieClip(this.getChildByName("xxx" + i)).gotoAndPlay(2); cxod = 0; break; } } } if (penok0 == 1 && penok == 1) { if (cxod == 0) { this["OOO"](); this["sq" + oxod] = 0; penok0 = 0; MovieClip(this.getChildByName("ooo" + oxod)).gotoAndPlay(2); cxod = 1; } } pen.visible = penok; penO.visible = penok0;是什么意思
这也是一段 ActionScript 3.0 的代码,与游戏相关,大致的意思如下:
- 如果 penok0 和 penok 都等于 1,那么循环 9 次,找到第一个 xod 等于 1 的属性,将对应的 sq 属性设为 1,将 penok 设为 0,播放名字为 "xxx" + i 的 MovieClip 的第二帧,将 cxod 设为 0,然后跳出循环。
- 如果 penok0 和 penok 都等于 1,且 cxod 等于 0,那么调用函数 OOO,将对应的 sq 属性设为 0,将 penok0 设为 0,播放名字为 "ooo" + oxod 的 MovieClip 的第二帧,将 cxod 设为 1。
- 根据 penok 和 penok0 的值,控制名为 pen 和 penO 的显示或隐藏状态。
具体代码的作用需要根据上下文来确定,但可以看出这段代码与游戏的逻辑有关。
阅读全文