PDA

Просмотр полной версии : Логическая проблема. Как во флеше работает for и switch.


Віталик
25.11.2007, 19:24
Пишу это в Flash 8.

var arr:Array = [[0, 314, 0], [314, 400, 1], [400, 600, 0]];
var pidv = function (l) {
for (var i =0; i<=2; i++) {
for (var j = 0; j<=2; j++) {
if (j == 0 || j == 1) {
arr[i] [j] += l;
//trace(arr[i] [j]);
}
}
}
for (var i=0; i<=2; i++) {// тут проблеми
if ((arr[i][0]<153,5)&&(arr[i][1]>153,5)) // тут проблеми
{

switch (arr[i][2]) {
case 0 :
vx=1;
vy=0;
break;
case 1 :
vx=0,7071;
vy=0,7071;
break;
}
trace(arr[i][0]);// ОБРАТИТЕ ВНИМАНИЕ!!!!!!!!!
//trace(arr[i][1]);
//trace(vx);
}else{vx=0;vy=0;}

}
}

pidv(-2);

Моя метка (обратите внимание) указивает на trace которий при компиляции должен виводить всево один член масива, ибо if строго ограничивает как мне кажетса остальние члены.
P.S. звиняйте если в посте много граматических ошибок,я з України.

iNils
25.11.2007, 19:36
А в чем смысл записей
arr[i][0]<153,5
и
arr[i][1]>153,5
Что там делает 5 и запятая перед ней?

Віталик
25.11.2007, 19:48
А в чем смысл записей
arr[i][0]<153,5
и
arr[i][1]>153,5
Что там делает 5 и запятая перед ней?

Ну так надо .Если не нравится можна поставивить штота другое, или переменную или или привязку к клипу типа clip._x.Есть мувик которий при натикании на некоторою координату должен виполнить определьоннуое действия, координати его фиксирование(x=153,5)а сам фон движетса.Вобшем мне сложно обяснить, ибо кроме етого фрагмента есть ещо много кода.
Проблема именно в логической составляющей коду,не могу понять.
Кстати скомпилируйте пожалуста то что есть у себе если можна, и сообщите что вишло.

Poohorik
25.11.2007, 19:53
Помойму во Flash дробные значения пишутся через точку.

Віталик
25.11.2007, 19:56
А в чем смысл записей
arr[i][0]<153,5
и
arr[i][1]>153,5
Что там делает 5 и запятая перед ней?
Звиняйте шо наробив шуму от шо значить мутная голова.
И справди шо "," "." есть разница правда код і далі не працює та зараз шось придумаю.

iNils
25.11.2007, 20:01
Помойму во Flash дробные значения пишутся через точку.
Угу. Это также касается vx = 0, 7071 и vy = 0, 7071
А вместо j <= 2 лучше писать j < 3, это быстрее работает.

Віталик
25.11.2007, 20:15
Та я уже увидел, усьо роботает.Спасибо.