Показать сообщение отдельно
Старый 10.01.2004, 12:10
MapcuaHuH вне форума Посмотреть профиль Отправить личное сообщение для MapcuaHuH Посетить домашнюю страницу MapcuaHuH Найти все сообщения от MapcuaHuH
  № 6  
MapcuaHuH

Регистрация: Oct 2003
Адрес: Россия, Томск
Сообщений: 29
Отправить сообщение для MapcuaHuH с помощью ICQ
2Darina

Объясняю, что за бывшая проблема с блоками. Как видишь, я применил определение достижения
границы текстового блока как i%blockSize==0 (blockSize, например, равен 40). Это значит, что 0-й, 40-й,
80-й и т.д. символы будут определены, как граничные. Но. Если, как раньше, увеличивать размер блока
при tipText.substr(i, 1)!=" ", то будет деление сначала на 41, потом на 42 и т.д., а 81%41 уже
!=0, а только 82%41. Получается, что условие i%blockSize нормально сработает только для первой строки.
Я думаю, это и так всё понятно, просто не было очевидно до дебага.

Про "приехали":

Код:
for(i=0; i<=tipText.length-1; i++) {
	j++;
	if(yPrev != this["char"+i]._y) {
		j = 0;
		yPrev = this["char"+i]._y;
	}
	var xplace = j*this["char"+i].char_shape._width/2+70;
	if(this["char"+i]._x < xplace) {
		this["char"+i]._x += appearRandomSpeed[i];
		if(this["char"+i]._x >= xplace) {
			this["char"+i]._x = xplace;
			}
		}
	}
}
Я тоже думал увеличивать переменную. Если она не будет увеличиваться несколько раз за символ, который
встал на место раньше других. Скажем, так:

Код:
...
		if(this["char"+i]._x > xplace) {
			this["char"+i]._x = xplace;
			finished++;
		}
...
__________________
нет ничего лучше, как наслаждаться человеку делами своими: потому что это–доля его


Последний раз редактировалось MapcuaHuH; 10.01.2004 в 12:19.