PDA

Просмотр полной версии : Переменная не выполняется


lukish
23.10.2006, 20:02
Здравствуйте уважаемые флешеры.
Во вложенном файле лежит исходник,
в pirani11(пираты11) создал переменну, если переменная равна 2 то пиратский карабль тонет.
При попадании ядра в паруса и корпус паруса сгорают а корпус разрушается при этих действиях в переменную должно добавится по единице и при переменной равной 2 корабль должен утануть.
Всё написал, но действие (утопленник) почемуто не происходит.
Немогу понять в чём дело, кто может помогите пожалуйсто.
Заранее благодарен.
Игорь.

wvxvw
24.10.2006, 05:02
Час убил на поиски...
stop();{
_root.pirani11.l += 1;
}
Это так что ли "прибавляется переменная"?
{} - литерал создания объекта, в твоем случае равносильно следующему коду:
stop();
var this[""]:Object = {_root.pirani11.l += 1};


Нашел еще одно место, где сделана попытка удалить несуществующую переменную l, очевидно, это она же имелась в виду...
Место где создается переменная я так и не нашел...

Если чесно, то гораздо проще сделать по-новой немного подчитав справочной литературы, чем пытаться это переделать =(

lukish
24.10.2006, 20:55
wvxvw прав в указанных ошибках.
Самостоятельно нашол причину невыполнения переменной, сейчас выполняется, но непонятно с какимито ошибками немогу понять в чём дело, во вложенном файле исправленный исходник.

iNils
24.10.2006, 21:02
Это так что ли "прибавляется переменная"?
{} - литерал создания объекта, в твоем случае равносильно следующему коду:
stop();
var this[""]:Object = {_root.pirani11.l += 1};
Вот тут ты не прав. Флеш игнорирует данные фигурные скобки совсем. Во времена, когда я активно пользовался Scite, я вставлял их чтобы разбить код на блоки, которые я мог бы сварачивать и они не мозолили мне глаза.

wvxvw
24.10.2006, 23:42
ок, ошибся... хотя... мой код был просто предположением (на практике его нельзя откомпилировать, ну не флешевским компайлером так уж точно)
но лучше бы кто нашел где эта переменная задается %) я помру пока найду =)

iNils
25.10.2006, 00:27
Переменая была создаа для рута
_root.l = 0;А пытаются использовать ее в pirani11, что приводит у ошибке.

lukish
01.11.2006, 20:55
Ещё раз добрый день друзъя.
извените за настойчивость но я не как немого разобратся, всё вродебы в порядке а работает не нак как нужно: стреляю из левого корабля в пиратский - при поподании по одному разу из каждой пушки он (пиратский должен утануть) а он иногда невидит переменную а иногда нужно ещё раз выстрелить в него чтобы он затанул.
Что я сделал неправельно - подскажите пожалуйсто.
Во вложенном файле исходник.
С уважением Игорь.

lukish
07.11.2006, 17:22
Спасибо всем, самостоятельно нашрл причину:
после выполнения переменной действий её необходимобыло удалить -
delete (l)