среда, 30 января 2008 г.

Фреймворк PureMVC

  1. -= Чисто MVC =-
    <http://flash-ripper.com/archives/002017.php#comments>
  2. Архитектура и ключевые фигуры фреймворка PureMVC
    <http://flash-ripper.com/archives/002023.php>
  3. Фасад (Façade) — ядро и лицо фреймворка PureMVC
    <http://flash-ripper.com/archives/002036.php>
  4. Как устроены Модель, Вид и Управление во фреймворке PureMVC
    <http://flash-ripper.com/archives/002049.php>
  5. Кто использует Cairngorm?
    <http://flash-ripper.com/archives/002039.php>
  6. 10 советов по PureMVC
    <http://injun.ru/?p=425>
  7. Что мы знаем о flash/flex фреймуорках?
    <http://injun.ru/?p=439>
  8. Пример Flash-галереи на PureMVC
    <http://injun.ru/?p=435>
  9. Как создать простой FLV-плеер во Flex и Flash, используя PureMVC
    <http://injun.ru/?p=450>

понедельник, 28 января 2008 г.

Cкины в Flex3 - новые возможности

Cкины в Flex3 - новые возможности. Преходы между цветами в кнопках возможны. Статья

четверг, 24 января 2008 г.

пятница, 18 января 2008 г.

Пикселарт. Поучительно

http://gas13.ru/v3/pixelart/ru_pixelart.php

Как лучше постить код в Bloggere

Пока нашел только такое решение - заключать код в эти теги:

<code>
.....
.Код.
.....
</code>


Попробовал заключать еще и в <pre>, но при копировании кода через clipboard, теряются символы переноса и весь код выстраивается в одну строку.

* * *

Попробовал вставить скрипт. Пока получилось вот что:

package {
import flash.display.Sprite;
import flash.display.Bitmap;

[Frame(factoryClass="MyFactory")]
public class FrameTest extends Sprite
{
[Embed(source="big_asset.jpg")]
private var Asset:Class;

public function FrameTest()
{
init();
}

public function init():void
{
var asset:Bitmap = new Asset();
addChild(asset);
}
}
}


* * *

Вот код преобразовывающего скрипта:

<script type="text/javascript">
// CodeBlocksSubstitutor
var i=0;
var j=0;
while(_DIV = document.getElementById("code"))
{ _DIV.id="processed";
if ((_DIV.innerText==null)(_DIV.innerText=="")) continue;
AREA = document.createElement("TEXTAREA");
AREA.id = "codeArea"+i;
if (_DIV.rows==null) AREA.rows = 10; else AREA.rows = _DIV.rows;
AREA.cols = 53;
AREA.readOnly = true;
AREA.wrap = "off";
i++;
// *** Удалено *** if (_DIV.markup!=null) AREA.appendChild(_DIV.cloneNode(true)); else
AREA.innerText=_DIV.innerText;
newdiv=document.createElement("DIV");
newdiv.appendChild(AREA);
div_parent=_DIV.parentNode;
div_parent.replaceChild(newdiv,_DIV);
}
</script>


В тексте, код необходимо поместить в контейнер:

<div id="code" rows="20">
</div>


Параметр id="code" указывает на то, что текст необходимо обработать.
Параметр rows задает количество строк поля TextArea.
*** УДАЛЕНО *** Параметр markup="on" включает разметку кода. Но при этом, код будет неверно копироваться в клипбоард.
Тег div можно заменить на любой другой, например, code. Это повлияет на внешний вид контейнера.

* * *

Итак, выдрав код замены DIV на TEXTAREA отсюда, выявил несколько неудобств (копируемый в клипбоард код теряет переносы, необходимо заключать в дополнительный контейнер содержимое) и внес коррекции. Однако, остался один недостаток - теряются пробельные символы в начале строк. Кроме того, теряется форматирование, но, на мой взгляд, это не является большим минусом при выкладывании кода.

Итак, решение позволяет сделать так, чтобы код помещался в контейнере TextArea. Не более того.

* * *

После непродолжительного использования скрипта, выявился важный недостаток. IE 6.0 сваливается по критической ошибке, если уйти со страницы и опять на нее вернуться.
Виновником оказался код AREA.appendChild(_DIV.cloneNode(true));.
Код AREA.appendChild(_DIV.firstChild); тоже валит IE.

Пришлось отказаться от форматированного варианта с markup="on". Да и фиг с ним.

* * *

Обновил код: для пользователей альтернативных браузеров и Mac, текст в полях ввода не виден, всё из-за того, что на свойство innerText им совсем наплевать - оно не поддерживается DOM. Посему, не вдаваясь в подробности, я просто отключаю помещение кода в TextArea для всех браузеров, которые не IE. Возможно, позже найдется лучшее решение.
Да, знаю - камень в огород бесплатного блогирования.