Показать сообщение отдельно
Старый 06.08.2009, 13:11
buskaMuza вне форума Посмотреть профиль Отправить личное сообщение для buskaMuza Найти все сообщения от buskaMuza
  № 189  
Ответить с цитированием
buskaMuza

Регистрация: Aug 2009
Сообщений: 1
Цитата:
Маленькое отступление. Мне стало интересно, почему при добавлении числа к строке “строка”+Number, его не нужно преобразовывать в строку toString() ? Написал маленькую проверку:

Код AS3:
var s:String="1";
var num:Number=4;
s+=num;
num+=s;
trace("s="+s+", num="+num); // s=14, num=414
Ни каких ошибок компилятор не выдал. Это что же получается, все как раньше? Переменная num по пути из Number стала String и в результате получили “414” вместо ожидаемых “18” или хотя бы ошибки компиляции?! Нафига тогда вообще типы переменных нужны? Что-то я не понял
Это нормально как раз Пусть есть 2 переменные разных типов: число и строка. Вы производите с ними какое-то совместное действие. При этом есть 3 варианта:
- выдать ошибку, что типы не соответствуют;
- преобразовать строку в число и выполнить действие как с числами;
- преобразовать число в строку и выполнить с ними операцию как со строками.

Почему Вы считаете, что третий вариант хуже второго? Если уж так следить за типами, то выбирать третий вариант. Но в подобной ситуации, думаю, достаточно выбрасть стандартный способ - третий.

А вообще - спасибо за детальное описание создания игры. Сейчас как-то задумала поизучать флеш (а вдруг игру какую-то захочется сделать ) и почитать будет полезно. И так поняла, что хорошо, что сейчас начала изучать - когда уже появился AS3 и не надо задумываться о том, как было раньше.

Пока что пробую сделать карточную игру типа "Башенки" Застоорилась на событии клацанья по карте - не знаю пока что как это делается по-человечески.... чтоб нигде потом ничего не потерялось и все правильно работало.
Но пока что флеш вместе с AS почти полностью меня захватил и увлек!