PDA

Просмотр полной версии : можно ли обойти лимит байткода 32кб?


Agon
04.09.2006, 19:58
класс данных генерится скриптом из XML.
когда байткода становится >32кб, не загружается



"**Warning** __proto__: Branch between 42354 and 108618 exceeds 32K span."


Можно ли обойти это?

Nirth
04.09.2006, 20:38
не стоит даже пытаться, распредилите код.
вынесите методы в отдельные классы, вызывайте дистанционо.

DarkLight
04.09.2006, 21:04
Нельзя по той простой причине что 32 кб - предел прыжка в ас1-2.
Компилятор просто не сможет ничего сделать.

silin
05.09.2006, 01:09
не то чтоб очень надо, но можно пример?
(не бачили такого ни разу)

Agon
05.09.2006, 17:00
всем спасибо
пришлось кинуть в root через include вне класса

кстати, нельзя через mtasc вкомпилить код в swf, то есть если это не класс? Ругается...

2 silin

есть диалоги для игры в excel -> xml
xml парсится и на каждый диалог создается объект, типа:


var dialogs = new Array3D;

obj = new DialogData;
obj.chars = new Array;
obj.isStartEnd = false;
obj.isHaveNonSelfReplies = true;
obj.nReplies = 3;
obj.blockID = 1;
obj.dialogID = 5;
obj.replies = new Array;
obj.replies[1] = new ReplyID;
obj.replies[1].blockID = 1;
obj.replies[1].dialogID = 3;
obj.replies[1].replyID = 1;
obj.chars[1] =7;
obj.chars[2] =3;
obj.chars[3] =7;
dialogs.put(obj, 1, 5);

obj = new DialogData;
obj.chars = new Array;
obj.isStartEnd = false;
obj.isHaveNonSelfReplies = false;
obj.nReplies = 7;
obj.blockID = 1;
obj.dialogID = 1;
obj.chars[1] =3;
obj.chars[2] =7;
obj.chars[3] =2;
obj.chars[4] =7;
obj.chars[5] =2;
obj.chars[6] =7;
obj.chars[7] =2;
dialogs.put(obj, 1, 1);

и так много-много раз

Nirth
06.09.2006, 01:03
такие вещи держут в внешних файлах...