Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.01.2012, 03:32
~~~ вне форума Посмотреть профиль Отправить личное сообщение для ~~~ Посетить домашнюю страницу ~~~ Найти все сообщения от ~~~
  № 1  
Ответить с цитированием
~~~
 
Аватар для ~~~

блогер
Регистрация: Nov 2003
Адрес: 117593, Россия, Москва
Сообщений: 211
Записей в блоге: 2
Отправить сообщение для ~~~ с помощью ICQ Отправить сообщение для ~~~ с помощью AIM Отправить сообщение для ~~~ с помощью Yahoo Отправить сообщение для ~~~ с помощью Skype™
Question Ищу реализацию языка, типа obj.add(obj2).do(animation).with.x(10).y(15)..

Собственно где-то в архивах флешера это точно было. Но найти не могу. Если кто вспомнит, будет очень здорово.
__________________
WebLog:http://flashimp.ru
IDE: http://Visuvio.com

Старый 24.01.2012, 04:05
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
а о чем вообще разговор?
obj.add ( obj2 ) returns obj2 obj2.applyAnimation(animation) returns point ...
__________________
Марк Tween

Старый 24.01.2012, 04:09
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 3  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Как-то тоже баловался
Canvas.as


Код AS3:
package 
{
    import flash.display.DisplayObject;
    import flash.display.Graphics;
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.display.Sprite;
 
/* * * * * * * * * *
*                  *
*  @author wolsh   *
*                  *
\* * * * * * * * * */ 
    public class Canvas
    {
        private var g:Graphics;
        private var _fromX:Number;
        private var _fromY:Number;
        // fill settings
        private var _fill:Boolean;
        private var _fillC:uint;
        private var _fillA:Number;
        // border settings
        private var _border:Boolean;
        private var _borderT:Number;
        private var _borderC:uint;
        private var _borderA:Number;
 
        public function Canvas(target:DisplayObject) 
        {
            if(target is Sprite) g = (target as Sprite).graphics;
            else if(target is Shape) g = (target as Shape).graphics;
            else if(target is MovieClip) g = (target as MovieClip).graphics;
            else throw new Error("Объект назначения не поддерживает программное рисование");
        }
 
        public function line(thick:Number = 0, color:uint = 0x000000, alpha:Number = 1):Canvas
        {
            g.lineStyle(thick, color, alpha);
            return this;
        }
 
        public function fill(color:uint = 0x000000, alpha:Number = 1):Canvas
        {
            _fill = true;
            _fillC = color;
            _fillA = alpha;
            g.beginFill(color, alpha);
            return this;
        }
 
        public function rect(x:Number, y:Number, width:Number, height:Number):Canvas
        {
            if (_border)
            {
                g.beginFill(_borderC, _borderA);
                g.drawRect(x, y, width, height);
                g.drawRect(x + _borderT, y + _borderT, width - _borderT * 2, height - _borderT * 2);
            }
            if (_fill)
            {
                g.endFill();
                g.beginFill(_fillC, _fillA);
                if (_border) 
                {
                    g.drawRect(x + _borderT, y + _borderT, width - _borderT * 2, height - _borderT * 2);
                }
                else
                {
                    g.drawRect(x, y, width, height);
                }
            }
            end();
            return this;
        }
 
        public function border(thick:Number = 0, color:uint = 0x000000, alpha:Number = 1):Canvas
        {
            _borderT = thick;
            _borderC = color;
            _borderA = alpha;
            _border = true;
            return this;
        }
        public function from(x:Number = 0, y:Number = 0):Canvas
        {
            g.moveTo(x, y);
            _fromX = x;
            _fromY = y;
            return this;
        }
 
        public function to(x:Number = 0, y:Number = 0):Canvas
        {
            g.lineTo(x, y);
            return this;
        }
 
        /* Замыкает контур */
        public function close():Canvas
        {
            g.lineTo(_fromX, _fromY);
            g.lineStyle();
            return this;
        }
 
        /* Очищает все установки */
        public function end():void
        {
            g.endFill();
            g.lineStyle();
            _border = _fill = false;
            _fromX = _fromY = _borderT = 0;
        }
    }
 
}
Main.as
Код AS3:
 
package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import Canvas;
/* * * * * * * * * *
*                  *
*  @author wolsh   *
*                  *
\* * * * * * * * * */
    public class Main extends Sprite 
    {
 
        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
 
        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;
            // entry point
            var canvas:Canvas = new Canvas(this);
            canvas.line(1, 0x222222, 1).from(10, 10).to(60, 20).to(110, 10).to(110, 50).to(10, 50).close();
            canvas.fill(0x666666, 0.8).from(120, 10).to(220, 10).to(220, 50).to(120, 50).end();
            canvas.fill(0xFF6666, 0.8).rect(120, 60, 100, 40);
            canvas.border(4, 0xFF6666, 0.8).rect(10, 60, 100, 40);
            canvas.border(4, 0x222222, 0.8).fill(0xFF6600, 0.8).rect(10, 110, 100, 40);
        }
 
    }
 
}
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 24.01.2012 в 04:19.
Старый 24.01.2012, 08:26
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 4  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
За архив не скажу. Поищи посты silin'a или свяжись с ним, вроде он о чем-то подобном рассказывал, насколько мне помнится. Где-то за год-полтора. Возможно, в блогах было. Но было, да.

Старый 24.01.2012, 09:01
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
насчет реализации аж языка не знаю
но вообще это fluent interface,
вот нашел: Котяра начинал что-то интересное http://www.flasher.ru/forum/blog.php?b=151

Добавлено через 22 минуты
еще eaze-tween по такой схеме сделан
у меня тож было, когда игрался с генератором саундов http://www.flasher.ru/forum/blog.php?b=350


Последний раз редактировалось silin; 24.01.2012 в 09:26.
Старый 24.01.2012, 22:44
~~~ вне форума Посмотреть профиль Отправить личное сообщение для ~~~ Посетить домашнюю страницу ~~~ Найти все сообщения от ~~~
  № 6  
Ответить с цитированием
~~~
 
Аватар для ~~~

блогер
Регистрация: Nov 2003
Адрес: 117593, Россия, Москва
Сообщений: 211
Записей в блоге: 2
Отправить сообщение для ~~~ с помощью ICQ Отправить сообщение для ~~~ с помощью AIM Отправить сообщение для ~~~ с помощью Yahoo Отправить сообщение для ~~~ с помощью Skype™
Спасибо вам огромное.
Цитата:
вообще это fluent interface
- потому и не нашёл, не знал. Спасибо!
Всем огромное спасибо!
__________________
WebLog:http://flashimp.ru
IDE: http://Visuvio.com

Старый 24.01.2012, 23:00
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Аха, тема. Сталкивался в реализации библиотечки opensocial
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 09.02.2012, 15:12
~~~ вне форума Посмотреть профиль Отправить личное сообщение для ~~~ Посетить домашнюю страницу ~~~ Найти все сообщения от ~~~
  № 8  
Ответить с цитированием
~~~
 
Аватар для ~~~

блогер
Регистрация: Nov 2003
Адрес: 117593, Россия, Москва
Сообщений: 211
Записей в блоге: 2
Отправить сообщение для ~~~ с помощью ICQ Отправить сообщение для ~~~ с помощью AIM Отправить сообщение для ~~~ с помощью Yahoo Отправить сообщение для ~~~ с помощью Skype™
Кстати, нашёл вот такой эксперимент:
Описание | Код.
__________________
WebLog:http://flashimp.ru
IDE: http://Visuvio.com

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:25.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.