Информация

Обсуждало 4 человека

Опрос от автора

Чтобы принять участие в голосовании, зарегистрируйтесь, пожалуйста!

Как сделать рамку в проектах как у едапскова

Логика и программирование
13 октября 2011 в 12:33:21

Ну короче я тут набыдлокодил функцию делающую рамку.
Вот она:
function getRamka() { _root.createEmptyMovieClip("ramka",_root.getNextHighestDepth()) ramka.lineStyle(5,0x000000,100) ramka.moveTo(10,10) ramka.lineTo(10,Stage.height-10) ramka.moveTo(10,Stage.height-10) ramka.lineTo(Stage.width-10,Stage.height-10) ramka.moveTo(Stage.width-10,Stage.height-10) ramka.lineTo(Stage.width-10,10) ramka.moveTo(Stage.width-10,10) ramka.lineTo(10,10) }


Ну пробуйте и говорите, что можно подправить.

Обсуждение (вниз)

Не хватает только вашего мнения. Зарегистрируйтесь, чтобы написать!

14 октября 2011 в 00:39:58

Мда... Оказывается, мы бояним. Уже давно существуют пользовательские классы, которые расширяют стандартные возможности динамического рисования второго AS и не надо изобретать велосипед. Здесь описал один такой класс - http://edapskov.ru/pages.php?id=58 . Наверняка, есть и другие...

А нарисовать руками сложно?


Вопрос, конечно, хороший. Конкретно с рамкой - проще, но только при условии, что она тебе нужна один раз. Если тебе надо рисовать рамок много и разных - проще кодом.

Кроме этого во флеш существует ряд возможностей, которые доступны ТОЛЬКО через код. Вот так вот.

13 октября 2011 в 20:31:54

Да

13 октября 2011 в 19:51:53

А нарисовать руками сложно?

13 октября 2011 в 13:40:49

А лучше что-то вроде этого:

function getRamka(x, y, w, h, t, c) { _root.createEmptyMovieClip("ramka",_root.getNextHighestDepth()); ramka.lineStyle(0.1,c); ramka.beginFill(c); ramka.moveTo(0,0); ramka.lineTo(w,0); ramka.lineTo(w,h); ramka.lineTo(0,h); ramka.endFill(); ramka.beginFill(0xffffff); ramka.moveTo(t,t); ramka.lineTo(w - t,t); ramka.lineTo(w - t,h - t); ramka.lineTo(t,h - t); ramka.endFill(); } getRamka(0,0,Stage.width,Stage.height,10,0x999999); /* где: getRamka(x,y,width,height,толщина_рамки,цвет_рамки); */

13 октября 2011 в 13:26:47

Нет? Не знал.

13 октября 2011 в 13:22:45

Юра, твою функцию правильнее будет сократить. Просто нет необходимости в повторных установках точки начала рисования.

function getRamka() { _root.createEmptyMovieClip("ramka",_root.getNextHighestDepth()); ramka.lineStyle(5,0x000000); ramka.moveTo(10,10); ramka.lineTo(10,Stage.height - 10); ramka.lineTo(Stage.width - 10,Stage.height - 10); ramka.lineTo(Stage.width - 10,10); ramka.lineTo(10,10); } getRamka();

13 октября 2011 в 13:18:22

sw_alex, молодца! Вот только функции drawRect() в ActionScript 2.0 нет. Это функция из ActionScript 3.0. Внимательнее надо быть.

13 октября 2011 в 13:16:26

Не работает твой drawRect на AS2
, да.

13 октября 2011 в 13:13:40

На AS 2.0 я делаю так, спс за совет хД

13 октября 2011 в 12:56:54

Ты ведь рисуешь квадрат, так и используй функцию drawRect()

function getRamka() { _root.createEmptyMovieClip("ramka",_root.getNextHighestDepth()) ; ramka.lineStyle(5,0x000000,100); ramka.drawRect(10,10,Stage.width-20,Stage.height-20); }


и ; не забывай ставить, да.
Fundux.ru v.3.0 © 2006-2021 AleXNoD
Портал русских флеш игр и flash мультов