PDA

Просмотр полной версии : Не получаеться создать функцию..


BlackRaven
08.09.2007, 19:19
Всем доброго времени суток! Пытаюсь создать объект рисующий линию:

MovieClip.prototype.drawLine = function (startX, startY, endX, endY) {
moveTo (startX,startY);
lineTo (startX,atartY);
}
this.createEmptyMovieClip ("muLine",0);
muLine.lineStyle (3,0xff0000,100);
muLine.drawLine (0,0,200,59);

Запускаю - пустое окно.:(
Поммогите плз. разобраться что не так.

udaaff
08.09.2007, 19:24
если привести в рабочий вид... а вообще, не надо так делать
MovieClip.prototype.drawLine = function(startX, startY, endX, endY) {
this.moveTo(startX, startY);
this.lineTo(endX, endY);
};
this.createEmptyMovieClip("muLine", 0);
muLine.lineStyle(3, 0xff0000, 100);
muLine.drawLine(0, 0, 200, 59);

BlackRaven
08.09.2007, 19:28
Спасибо Udaff. Ну стормозил, вижу.:rolleyes:

а вообще, не надо так делать

А почему не надо? В принципе для линии, конечно не надо, а если чё посложнее?

udaaff
08.09.2007, 19:36
Зачем тут дописывать что-то в prototype? Без этого обойтись нельзя никак чтоли?

Kikasso
08.09.2007, 19:37
прототипы - гиблый путь. Запутаешься в этих this, замучаешься искать ошибки. Пиши код в классах.

BlackRaven
08.09.2007, 19:39
Зачем тут дописывать что-то в prototype? Без этого обойтись нельзя никак чтоли?
Так было в книжке, а почему бы нет? Точнее чем это чревато?

прототипы - гиблый путь. Запутаешься в этих this, замучаешься искать ошибки. Пиши код в классах.
до этого я ещё не дошел, потом обязательно попорбую:)

udaaff
08.09.2007, 19:43
Чревато тем что ты хакаешь класс MovieClip. Если тебе нужно расширить возможности опрделенных мувиков, пиши класс, который будет наследоваться от MovieClip'a.

BlackRaven
08.09.2007, 19:55
Чревато тем что ты хакаешь класс MovieClip.
А чем это чревато, извиняюсь за дотошность?:)

udaaff
08.09.2007, 20:11
Потому что класс МоvieClip существует для всех мувиков на свете, и не нужна эта ваша функция, которая рисует линию, им всем. Хотя бы поэтому.

etc
08.09.2007, 20:57
BlackRaven, для того, чтобы что-то добавить, надо редактировать пост, а не лепить второй подряд.

BlackRaven
08.09.2007, 21:06
т.е. Это может сказаться на работе flash целом?

BlackRaven, для того, чтобы что-то добавить, надо редактировать пост, а не лепить второй подряд.
Извиняюсь не понял в каком смысле?

udaaff
08.09.2007, 21:10
Может и сказаться. Давайте вообще все классы в один слепим, зачем им по отдельности существовать?

ps: кнопочка есть такая "изменить", если хочешь что-то дописать жмешь на нее, а не создаешь новый пост.

etc
08.09.2007, 21:14
Извиняюсь не понял в каком смысле?
В этой теме вы создали шесть постов, по два подряд.
Для профилактики я вам ставлю плюс. Учтите, что всего плюсов может быть три, вместе с третьим выдается пожизненный бан. Я не буду больше за вами объединять посты.

BlackRaven
08.09.2007, 21:22
Хорошо, вот отправляю это сообщение, этим я создаю новый пост или редактирую старый? отправленно из окна "быстрый ответ."

etc
08.09.2007, 21:31
Создается НОВЫЙ пост при нажатии на «Отправить быстрый ответ». А если требуется что-то добавить, есть кнопка http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif, на которую нужно нажать и дописать нужное. Добавлять нужно всегда, если последний пост в теме — ваш. Не редактировать пост можно лишь в случае, если с его момента прошло более суток.