Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.10.2011, 13:42
Avrilka вне форума Посмотреть профиль Отправить личное сообщение для Avrilka Найти все сообщения от Avrilka
  № 1  
Ответить с цитированием
Avrilka

Регистрация: Jun 2010
Адрес: A(undefined,undefined)
Сообщений: 87
Записей в блоге: 2
По умолчанию Ошибка: "__proto__"

Код AS1/AS2:
 
var fx_p = function (caster,n,level){
			Skills.dat = []
			Skills.dat['caster'] = caster;
			Skills.dat['n'] = n
			Skills.dat['level'] = level
			var cell
 
 
 
 
			cell = Map.grid[caster.y][caster.x+1]
			if (cell.free==1 && cell.pass != 0) {
				for (var i=2; i<6; i++) {
					  cell = Map.grid[caster.y][caster.x+i]
					  if (cell.pass == 0) break;
					  cell.highlightCell('RA')
					  cell.onRollOver = function() {
					  	Map.grid[caster.y][this.x].highlightCell('RA_Red')
					  	if (Map.grid[caster.y][this.x].free != 1 || Map.grid[caster.y][this.x+1].pass == 0) return;
						Map.grid[caster.y][this.x+1].highlightCell('RA_Red')
						if (Map.grid[caster.y][this.x+1].free != 1 || Map.grid[caster.y][this.x+2].pass == 0) return;
					  	Map.grid[caster.y][this.x+2].highlightCell('RA_Red')
						if (Map.grid[caster.y][this.x+2].free != 1 || Map.grid[caster.y][this.x+3].pass == 0) return;
					  	Map.grid[caster.y][this.x+3].highlightCell('RA_Red')
				  	  	}
				  	  cell.onRollOut = function() {
				  	  	Map.grid[caster.y][this.x].highlightCell('RA')
					  	if (Map.grid[caster.y][this.x].free != 1 || Map.grid[caster.y][this.x+1].pass == 0) return;
						if(Math.abs(this.x-caster.x)>=5)Map.grid[caster.y][this.x+1].dehighlightCell()
				  	  	else Map.grid[caster.y][this.x+1].highlightCell('RA')
						if (Map.grid[caster.y][this.x+1].free != 1 || Map.grid[caster.y][this.x+2].pass == 0) return;
						if(Math.abs(this.x-caster.x)>=4)Map.grid[caster.y][this.x+2].dehighlightCell()
					  	else Map.grid[caster.y][this.x+2].highlightCell('RA')
						if (Map.grid[caster.y][this.x+2].free != 1 || Map.grid[caster.y][this.x+3].pass == 0) return;
						if(Math.abs(this.x-caster.x)>=3)Map.grid[caster.y][this.x+3].dehighlightCell()
				  	  	else Map.grid[caster.y][this.x+3].highlightCell('RA')
						}
					  cell.onPress = function () {
						 var n = Skills.dat['n']
    					 var level = Skills.dat['level']
    					 Skills.skills[n]['fx_base'].call(Skills.dat['caster'], Skills.dat['caster'], this,n, level)
					 }
					 if (cell.free != 1) break;
				}
			}
 
 
 
 
			cell = Map.grid[caster.y][caster.x-1]
			if (cell.free!=0 && cell.pass != 0) {
				for (var i=2; i<6; i++) {
					  cell = Map.grid[caster.y][caster.x-i]
					  if (cell.pass == 0) break;
					  cell.highlightCell('RA')
					  cell.onRollOver = function() {
					  	Map.grid[caster.y][this.x].highlightCell('RA_Red')
					  	if (Map.grid[caster.y][this.x].free != 1 || Map.grid[caster.y][this.x-1].pass == 0) return;
						Map.grid[caster.y][this.x-1].highlightCell('RA_Red')
					  	if (Map.grid[caster.y][this.x-1].free != 1 || Map.grid[caster.y][this.x-2].pass == 0) return;
						Map.grid[caster.y][this.x-2].highlightCell('RA_Red')
					  	if (Map.grid[caster.y][this.x-2].free != 1 || Map.grid[caster.y][this.x-3].pass == 0) return;
						Map.grid[caster.y][this.x-3].highlightCell('RA_Red')
				  	  	}
				  	  cell.onRollOut = function() {
				  	  	Map.grid[caster.y][this.x].highlightCell('RA')
						if (Map.grid[caster.y][this.x].free != 1 || Map.grid[caster.y][this.x-1].pass == 0) return;
					  	if(Math.abs(caster.x-this.x)>=5)Map.grid[caster.y][this.x-1].dehighlightCell()
				  	  	else Map.grid[caster.y][this.x-1].highlightCell('RA')
						if (Map.grid[caster.y][this.x-1].free != 1 || Map.grid[caster.y][this.x-2].pass == 0) return;
						if(Math.abs(caster.x-this.x)>=4)Map.grid[caster.y][this.x-2].dehighlightCell()
					  	else Map.grid[caster.y][this.x-2].highlightCell('RA')
						if (Map.grid[caster.y][this.x-2].free != 1 || Map.grid[caster.y][this.x-3].pass == 0) return;
						if(Math.abs(caster.x-this.x)>=3)Map.grid[caster.y][this.x-3].dehighlightCell()
				  	  	else Map.grid[caster.y][this.x-3].highlightCell('RA')
						}
					  cell.onPress = function () {
						 var n = Skills.dat['n']
    					 var level = Skills.dat['level']
    					 Skills.skills[n]['fx_base'].call(Skills.dat['caster'], Skills.dat['caster'], this,n, level)
					 }
					 if (cell.free == 0) break;
				}
			}
 
 
 
			cell = Map.grid[caster.y+1][caster.x]
			if (cell.free!=0 && cell.pass != 0) {
				for (var i=2; i<6; i++) {
					  cell = Map.grid[caster.y+i][caster.x]
					  if (cell.pass == 0) break;
					  cell.highlightCell('RA')
					  cell.onRollOver = function() {  
					  	Map.grid[this.y][caster.x].highlightCell('RA_Red')
					  	if (Map.grid[this.y][caster.x].free != 1 || Map.grid[this.y+1][caster.x].pass == 0) return;
						Map.grid[this.y+1][caster.x].highlightCell('RA_Red')
					  	if (Map.grid[this.y+1][caster.x].free != 1 || Map.grid[this.y+2][caster.x].pass == 0) return;
						Map.grid[this.y+2][caster.x].highlightCell('RA_Red')
					  	if (Map.grid[this.y+2][caster.x].free != 1 || Map.grid[this.y+3][caster.x].pass == 0) return;
						Map.grid[this.y+3][caster.x].highlightCell('RA_Red')
				  	  	}
				  	  cell.onRollOut = function() {
				  	  	Map.grid[this.y][caster.x].highlightCell('RA')
					  	if (Map.grid[this.y][caster.x].free != 1 || Map.grid[this.y+1][caster.x].pass == 0) return;
						if(Math.abs(this.y-caster.y)>=5)Map.grid[this.y+1][caster.x].dehighlightCell()
				  	  	else Map.grid[caster.y+this.y+1][caster.x].highlightCell('RA')
						if (Map.grid[this.y+1][caster.x].free != 1 || Map.grid[this.y+2][caster.x].pass == 0) return;
						if(Math.abs(this.y-caster.y)>=4)Map.grid[this.y+2][caster.x].dehighlightCell()
					  	else Map.grid[caster.y+this.y+2][caster.x].highlightCell('RA')
						if (Map.grid[this.y+2][caster.x].free != 1 || Map.grid[this.y+3][caster.x].pass == 0) return;
						if(Math.abs(this.y-caster.y)>=3)Map.grid[this.y+3][caster.x].dehighlightCell()
				  	  	else Map.grid[caster.y+this.y+3][caster.x].highlightCell('RA')
						}
					  cell.onPress = function () {
						 var n = Skills.dat['n']
    					 var level = Skills.dat['level']
    					 Skills.skills[n]['fx_base'].call(Skills.dat['caster'], Skills.dat['caster'], this,n, level)
					 }
					 if (cell.free == 0) break;
				}
			}
 
 
 
			cell = Map.grid[caster.y-i][caster.x]
			if (cell.free!=0 && cell.pass != 0) {
				for (var i=2; i<6; i++) {
					  cell = Map.grid[caster.y-i][caster.x]
					  if (cell.pass == 0) break;
					  cell.highlightCell('RA')
					  cell.onRollOver = function() {
					  	Map.grid[this.y][caster.x].highlightCell('RA_Red')
					  	if (Map.grid[this.y][caster.x].free != 1 || Map.grid[this.y-1][caster.x].pass == 0) return;
						Map.grid[this.y-1][caster.x].highlightCell('RA_Red')
					  	if (Map.grid[this.y-1][caster.x].free != 1 || Map.grid[this.y-2][caster.x].pass == 0) return;
						Map.grid[this.y-2][caster.x].highlightCell('RA_Red')
					  	if (Map.grid[this.y-2][caster.x].free != 1 || Map.grid[this.y-3][caster.x].pass == 0) return;
						Map.grid[this.y-3][caster.x].highlightCell('RA_Red')
				  	  	}
				  	  cell.onRollOut = function() {
				  	  	Map.grid[this.y][caster.x].highlightCell('RA')
					  	if (Map.grid[this.y][caster.x].free != 1 || Map.grid[this.y-1][caster.x].pass == 0) return;
						if(Math.abs(caster.y-this.y)>=5)Map.grid[this.y-1][caster.x].dehighlightCell()
				  	  	else Map.grid[this.y-1][caster.x].highlightCell('RA')
						if (Map.grid[this.y-1][caster.x].free != 1 || Map.grid[this.y-2][caster.x].pass == 0) return;
						if(Math.abs(caster.y-this.y)>=4)Map.grid[-this.y-2][caster.x].dehighlightCell()
					  	else Map.grid[this.y-2][caster.x].highlightCell('RA')
						if (Map.grid[this.y-2][caster.x].free != 1 || Map.grid[this.y-3][caster.x].pass == 0) return;
						if(Math.abs(caster.y-this.y)>=3)Map.grid[this.y-3][caster.x].dehighlightCell()
				  	  	else Map.grid[this.y-3][caster.x].highlightCell('RA')
						}
					  cell.onPress = function () {
						 var n = Skills.dat['n']
    					 var level = Skills.dat['level']
    					 Skills.skills[n]['fx_base'].call(Skills.dat['caster'], Skills.dat['caster'], this,n, level)
					 }
					 if (cell.free == 0) break;
				}
			} 
 
		}

Код:
	__proto__: Branch between 3128 and 41309 exceeds 32K span.

Похоже что компилятору нехватает памяти, если я закоменчу 1 из 4
Код AS1/AS2:
if (cell.free==1 && cell.pass != 0){
то все пашет. Хелп! не сталкивался раньше с таким

Старый 08.10.2011, 14:27
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Что-то ужасающее.
Теоретически - вы СТОЛЬКО всего в объект пихаете - что для его представления именно и не хватает объема памяти....
Для единичного объекта.

Опишите словами - что этот ваш код пытается делать?
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2


Последний раз редактировалось dark256; 08.10.2011 в 14:34.
Старый 08.10.2011, 16:08
Avrilka вне форума Посмотреть профиль Отправить личное сообщение для Avrilka Найти все сообщения от Avrilka
  № 3  
Ответить с цитированием
Avrilka

Регистрация: Jun 2010
Адрес: A(undefined,undefined)
Сообщений: 87
Записей в блоге: 2
Это подготовка скилла, на самом деле ничего страшного нету. выделяет в 4 направлениях клетки, если нажать на одну из них - вызовется скилл. так же если на клетку навести мышку, то она засветится, увести перестанет светиться

Старый 11.10.2011, 22:59
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Avrilka, а вы знаете, что такое ссылка на объект? За каким фигом вы ломаете клавиатуру, несколько сотен раз копируя выражение «Map.grid[this.y][caster.x]» и подобные, в геометрической прогрессии ухудшая читабельность кода?

Старый 12.10.2011, 00:42
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 5  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Очень страшно.
А по теме - это гайзенбаг.
Пару раз встречался с такими особенно на больших проектах. Помогает Delete ASO files и другие танцы с бубнами.
__________________
Отряд Котовскага

Старый 12.10.2011, 11:25
Avrilka вне форума Посмотреть профиль Отправить личное сообщение для Avrilka Найти все сообщения от Avrilka
  № 6  
Ответить с цитированием
Avrilka

Регистрация: Jun 2010
Адрес: A(undefined,undefined)
Сообщений: 87
Записей в блоге: 2
Начнем с того что это не совсем мой код

А под ссылкой вы имеете ввиду

Код AS1/AS2:
a = Map.grid[this.y][caster.x]
То да, я знаю. Как раз она тут и обьявляется:

Код AS1/AS2:
cell = Map.grid[caster.y][caster.x-i]
а делать:
Код AS1/AS2:
cell1= Map.grid[caster.y][caster.x-1]
cell2 = Map.grid[caster.y][caster.x-2]
cell3 = Map.grid[caster.y][caster.x-3]
cell4 = Map.grid[caster.y][caster.x-4]
И последующее обращение к переменным cell1 cell2 ... лично для меня наоборот увеличивает колличество ошибок

Добавлено через 1 минуту
А по ошибке я так понял, что слишком неоптимизированное выделение так?

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:29.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.