English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



letters [i ][y1 ]; 15 } 16 } 17 }else if (x1 ==x2){ 18 if (y2>y1){ 19 for (var i =y1;i<=y2;++i){ 20 tempWord +=words.letters [x1 ][i ]; 21 } 22 }else if (y1>y2){ 23 for (var i =y2;i<=y1;++i){ 24 tempWord +=words.letters [x1 ][i ]; 25 } 26 } 27 }else if (x1 !=x2 &&y1 !=y2 &&Math.abs(x1-x2)== .Math.abs(y1-y2)){ 28 var xSign =(x2-x1)/Math.abs(x2-x1); 29 var ySign =(y2-y1)/Math.abs(y2-y1); 30 var steps =Math.abs(x2-x1); 31 for (var i =0;i<=steps;++i){ 32 tempWord +=words.letters [x1+xSign*i ][y1+ySign*i ]; 33 } 34 } 35 if (tempWord !=undefined){ 36 if (checkList(tempWord)){ 37 var x1 =x1*gridspacing+gridspacing/2; 38 var x2 =x2*gridspacing+gridspacing/2; 39 var y1 =y1*gridspacing+gridspacing/2; 40 var y2 =y2*gridspacing+gridspacing/2; 41 var rise =y2-y1; 42 var run =x2-x1; 43 var angle =Math.atan2(rise,run)*180/Math.PI; 44 var distance =Math.sqrt(rise*rise+run*run); 45 var name ="circle"+(++board.circles); 46 board.attachMovie("circler",name,++board.depth); 47 var clip =board [name ]; 48 clip._x =x1; 49 clip._y =y1; 50 clip._rotation =angle; 51 clip.right._x =distance; 52 clip.lineStyle(0,0x000099,100); 53 clip.moveTo(0,9.3); 54 clip.lineTo(distance,9.3); 55 clip.moveTo(0,-9.3); 56 clip.lineTo(distance,-9.3); 57 clip._alpha =50; 58 displayList(); 59 } 60 } 61 } Вначале мы определяем по положению мыши квадраты сетки, над которыми находился курсор, когда была нажата кнопка мыши и когда она была отпущена. (Этот простой математический трюк разъяснялся в Главе 7, «Плиточные миры»; «разрядка» из той главы работает здесь как «шаг сетки».) Затем мы проверяем координаты этих положений по трем условиям. Есть три допустимых относительных положения этих координат: Координата y может быть в той же колонке (вертикальной); то есть, x1 равно x2
Hosted by uCoz