Архив

Публикации с меткой ‘shaggysmile’

Живой Flex — новый проект ShaggySmile-а

7 октября 2007 Нет комментариев

Многоуважаемый ShaggySmile, один из популярнейших авторов русскоязычного Flash комьюнити, запустил новый проект под названием Life.FLEX. Формат публикаций - конкретика, никакого мусора. В основном переводы. Очень полезный ресурс. Советую как начинающим так и профессионалам.

Вот например Flex 2 и Flash Media Server - пример загрузки потокового MP3

Categories: Новости Tags:

Знакомство с графическими примитивами

28 сентября 2007 15 комментариев

В этом уроке мы познакомимся с графическими примитивами. То есть научимся рисовать линии и делать заливки. Сразу скажу, что мои примеры далеки от канонов объектно-ориентированного стиля... просто таким образом оформленные примеры мне кажутся... более простыми в понимании основной мысли. Да простят меня взрослые и умные дяденьки. 🙂

Итак, повторяем то же, что мы делали в прошлый раз, только теперь файл базового класса и сам класс будут называться Main.

Вот его содержимое:

  1. package {
  2. import flash.display.Sprite;
  3. import flash.display.Shape;
  4.  
  5. public class Main extends Sprite {
  6. public function Main() {
  7. var k1 = Kvadrat(100,0xFF0000); // Красный квадрат 100 на 100
  8. var k2 = Kvadrat(200,0x00FF00); // Зеленый квадрат 200 на 200
  9.  
  10. addChild(k1); // Добавляем Красный квадрат на основную сцену
  11. k1.x=50;
  12. k1.y=50;
  13.  
  14. addChild(k2); // Добавляем Зеленый квадрат на основную сцену
  15. k2.x=100;
  16. k2.y=100;
  17. }
  18.  
  19. private function Kvadrat(w:Number, col:uint) { // Функция, рисующая квадрат
  20. var kvadrat:Shape = new Shape();
  21. var Width=w;
  22. with (kvadrat.graphics) {
  23. beginFill(col, 0.80); // Закрашиваем квадрат, непрозрачность - 80%
  24. lineTo(0,Width);
  25. lineTo(Width,Width);
  26. lineTo(Width,0);
  27. lineTo(0,0);
  28. endFill();
  29. }
  30. return kvadrat;
  31. }
  32. }
  33. }

В принципе, я думаю и так все понятно... Но на всякий случай рассмотрим алгоритм выполнения этой маленькой программы:

  • Вызывается основная функция Main().
  • С помощью вызова функции Kvadrat() создаем 2 квадрата:
    • beginFill() - задать цвет заливки
    • lineTo() - рисовать линию до координат, указанных в параметрах
    • endFill() - закончить заливку (кстати, многие "взрослые" программеры часто забывают выключить заливку, что порой приводит к непредвиденным ситуациям
  • Добавляем квадраты на сцену командой AddChild()
  • Изменяем координаты с помощью параметров .x и .y

Ну вот, вроде бы и все на сегодня...'