发新话题
打印

[基础] <原创>不到80行代码让人人都会基本翻牌游戏的制作

<原创>不到80行代码让人人都会基本翻牌游戏的制作

今天刚完成的.吸取上次的教训,这次应该没什么BUG了把.
思路:先从库中复制mc到舞台上,然后随机打乱数组,三角交换,并且标示也要跟着变化,主要是打乱数组问题和标记问题困惑了我半天,其他的都还很容易的.
大家觉得有用的帮我顶啊,谢谢大家...
复制内容到剪贴板
代码:
/*作者:梦自在*/
/*mc的宽和高*/
var width_num:Number = 50;
var height_num:Number = 40;
/*空隙*/
var jiange_num:Number = 5;
var x0:Number = Stage.width/2-150;
var y0:Number = Stage.height/2-100;
var num_num:Number = 0;
var save_array:Array = new Array("A", "B", "C", "D", "E", "F", "G", "H");
/*初始化并打乱顺序*/
function init() {
var num:Number;
for (var i:Number = 0; i<=15; i++) {
  attachMovie("pic", "pic"+i, i);
  attachMovie("block", "block"+i, i+20);
  _root["pic"+i]._x = x0+Math.floor(i/4)*(width_num+jiange_num);
  _root["pic"+i]._y = y0+i%4*(height_num+jiange_num);
  _root["pic"+i].txt.text = save_array[Math.floor(num_num/2)];
  num_num += 1;
  _root["block"+i]._x = x0+Math.floor(i/4)*(width_num+jiange_num);
  _root["block"+i]._y = y0+i%4*(height_num+jiange_num);
}
random_array_func();
}
/*随机函数*/
function random_array_func() {
var count:Number = 0;
/*三角交换并打乱100次*/
while (count<=100) {
  var value1_num:Number = Math.floor(Math.random()*15);
  var value2_num:Number = Math.floor(Math.random()*15);
  if (value1_num != value2_num) {
   var xcin:Number;
   var ycin:Number;
   var block_xcin:Number;
   var block_ycin:Number;
   xcin = _root["pic"+value1_num]._x;
   _root["pic"+value1_num]._x = _root["pic"+value2_num]._x;
   _root["pic"+value2_num]._x = xcin;
   ycin = _root["pic"+value1_num]._y;
   _root["pic"+value1_num]._y = _root["pic"+value2_num]._y;
   _root["pic"+value2_num]._y = ycin;
   block_xcin = _root["block"+value1_num]._x;
   _root["block"+value1_num]._x = _root["block"+value2_num]._x;
   _root["block"+value2_num]._x = block_xcin;
   block_ycin = _root["block"+value1_num]._y;
   _root["block"+value1_num]._y = _root["block"+value2_num]._y;
   _root["block"+value2_num]._y = block_ycin;
  } else {
   var value1_num:Number = Math.floor(Math.random()*15);
   var value2_num:Number = Math.floor(Math.random()*15);
  }
  count++;
}
}
function start_func() {
var id_num:Number = 0;
var save_txt:Number = 0;
for (var i:Number = 0; i<=15; i++) {
  _root["pic"+i].i = i;
  _root["pic"+i].onRelease = function() {
   /*第一次开始选择时*/
   if (id_num == 0) {
    _root["pic"+this.i].swapDepths(_root["block"+this.i]);
    save_txt = _root["pic"+this.i].txt.text;
    id_num += 1;
   }
   /*第二次开始选择时*/
   else if (id_num == 1) {
    if (save_txt == _root["pic"+this.i].txt.text) {
     /*如果text一样则交换深度*/
     _root["pic"+this.i].swapDepths(_root["block"+this.i]);
     id_num = 0;
     save_txt = 0;
    }
   }
  };
}
}
init();
start_func();

附件

pic.fla (64 KB)

2007-12-26 13:35, 下载次数: 209

pic.swf (928 Bytes)

2007-12-26 13:35, 下载次数: 258

TOP

再完善一下  不对的还要翻回去
FLASH Everyday

TOP

谢谢支持...
我知道,那还得在下面加,我写了给大多数人看基本的制作过程啊,他们觉得能够改善就自己改把.
这游戏完善好了也不会有好多人愿意完,只不过是提供个思路大家参考,没别的意思...
不对的还要翻回去,那样更枯燥了.我弄了的....更没意思哦...

TOP

支持全代码,做出来才928 Bytes.

TOP

  顶上去

TOP

顶一个!严重支持!

TOP

很好,学习学习!

TOP

什么意思啊?怎么玩?
向大家学习!

TOP

发新话题