И не надо приблизительно высчитывать ширину текста, как это делают многие, почему то
tf.autoSize = TextFieldAutoSize.LEFT;
Action Script3, Flash, Flex, HTML5, HTML, Java Script, CSS
понедельник, 6 декабря 2010 г.
среда, 1 декабря 2010 г.
HTML5 + WebCamera
Очень хотелось начать один масштабный проект уже на HTML5, но как выяснилось, с веб-камерой работать он еще не умеет. То есть теоретически там есть тэг <device> , но он не поддерживается ни одним браузером и стоит в списке задач на ближайшие год-два. Так что пока на AS3, потом перепишем.
вторник, 30 ноября 2010 г.
Error 5005: Unknown error optimizing byte code
Если в какой-то момент у вас перестал компилиться swf, выдавать странные ошибки, а главное среди них будет такая
Error 5005: Unknown error optimizing byte code
увеличьте память для Java VM.
Делается это так:
Мой компьютер\Свойства\Дополнительно
Переменные среды\Системные переменные\Создать
Задаём имя переменной JAVA_TOOL_OPTIONS
Устанавливаем значение переменной: -Xmx1024M или -Xmx512M или -Xmx256M или -Xmx128M
Flash может начать ругаться в стиле: “Error initializing Java Runtime Environment. You may need to reinstall Flash.” В таком случае следует поставить значение переменной меньше.
Error 5005: Unknown error optimizing byte code
увеличьте память для Java VM.
Делается это так:
Мой компьютер\Свойства\Дополнительно
Переменные среды\Системные переменные\Создать
Задаём имя переменной JAVA_TOOL_OPTIONS
Устанавливаем значение переменной: -Xmx1024M или -Xmx512M или -Xmx256M или -Xmx128M
Flash может начать ругаться в стиле: “Error initializing Java Runtime Environment. You may need to reinstall Flash.” В таком случае следует поставить значение переменной меньше.
четверг, 4 ноября 2010 г.
AS3. Перехват ошибки в unhandled error
private function onError(e:IOErrorEvent){ trace(e); }
var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onError);
вторник, 2 ноября 2010 г.
AS3. Разместить элемент выше всех
Аналог вымершему SwapDepth в AS2
this.setChildIndex(child, this.numChildren-1);
this.setChildIndex(child, this.numChildren-1);
понедельник, 13 сентября 2010 г.
AS3. Блок с округленными углами
var sprite:Sprite = new Sprite(); sprite.graphics.beginFill(0x00ff00); sprite.graphics.drawRoundRect(0,0,150,150,50,50); sprite.graphics.endFill(); addChild(sprite);
четверг, 2 сентября 2010 г.
вторник, 1 июня 2010 г.
IE хаки
если в CSS поставить перед свойством "-" увидит его только ИЕ6
если - "//" или "*" - то увидит ИЕ 6 и ИЕ 7
если - "//" или "*" - то увидит ИЕ 6 и ИЕ 7
вторник, 18 мая 2010 г.
CSS меню. Предварительная загрузка изображения
Искала решение для CSS меню, с предзагрузкой изображения, чтоб в момент наведения на пункт меню, мы не наблюдали секундное отсутствие бекграунда. Так вот наткнулась на гениальное решение, правда не для всех случаев, но для простых меню - идеальный вариант, без наворотов и javascript.
http://www.xiper.net/html-and-css-tricks/css-tricks/preload-images.html
ищем
Решение 1 — подходит для rollover эффекта
Проверено во всех браузерах - работает :)
http://www.xiper.net/html-and-css-tricks/css-tricks/preload-images.html
ищем
Решение 1 — подходит для rollover эффекта
среда, 12 мая 2010 г.
AS3 Опять регулярные выражения
Надо было проверить поле ФИО на ограничения:
три слова, в фамилии допускается дефис, лишние пробелы убираются
var fio_string:String = popup_reg.name_txt.text;
function slice_fio(string:String):String
{
var myPattern = " "; // строка поиска
while (string.charAt(0) == " ")
string = string.slice(1);
while (string.charAt(string.length - 1) == " ")
string = string.slice(0, string.length - 1);
while (string.indexOf(" ")>(-1)) // Если еще имеются двойные пробелы
string = string.replace(myPattern, " "); // то заменяем их на один
return string;
}
fio_string = slice_fio(popup_reg.name_txt.text);
popup_reg.name_txt.text = fio_string; // переписывается строка без лишних пробелов
function informalizeGreeting(str:String):Boolean {
var pattern:RegExp = /^([а-яёА-ЯЁ_їЇёЁіІєЄ\\-]+\s+[а-яёА-ЯЁ_їЇёЁіІєЄ]+\s+[а-яёА-ЯЁ_їЇёЁіІєЄ]+)$/; // Проверка на три слова, можно вводить только русские и украинские символы и дефис в первом слове.
var result:Object = pattern.exec(str);
if(result == null) {
return false;
fio_result=0;
}
return true;
fio_result=1;
trace("TRUE!")
}
var formalGreeting:String = fio_string;
trace(informalizeGreeting(formalGreeting)); // true or false
три слова, в фамилии допускается дефис, лишние пробелы убираются
var fio_string:String = popup_reg.name_txt.text;
function slice_fio(string:String):String
{
var myPattern = " "; // строка поиска
while (string.charAt(0) == " ")
string = string.slice(1);
while (string.charAt(string.length - 1) == " ")
string = string.slice(0, string.length - 1);
while (string.indexOf(" ")>(-1)) // Если еще имеются двойные пробелы
string = string.replace(myPattern, " "); // то заменяем их на один
return string;
}
fio_string = slice_fio(popup_reg.name_txt.text);
popup_reg.name_txt.text = fio_string; // переписывается строка без лишних пробелов
function informalizeGreeting(str:String):Boolean {
var pattern:RegExp = /^([а-яёА-ЯЁ_їЇёЁіІєЄ\\-]+\s+[а-яёА-ЯЁ_їЇёЁіІєЄ]+\s+[а-яёА-ЯЁ_їЇёЁіІєЄ]+)$/; // Проверка на три слова, можно вводить только русские и украинские символы и дефис в первом слове.
var result:Object = pattern.exec(str);
if(result == null) {
return false;
fio_result=0;
}
return true;
fio_result=1;
trace("TRUE!")
}
var formalGreeting:String = fio_string;
trace(informalizeGreeting(formalGreeting)); // true or false
пятница, 23 апреля 2010 г.
воскресенье, 7 марта 2010 г.
IE Conditional comments
<p><!--[if IE]>
According to the conditional comment this is Internet Explorer<br />
<![endif]-->
<!--[if IE 5]>
According to the conditional comment this is Internet Explorer 5<br />
<![endif]-->
<!--[if IE 5.0]>
According to the conditional comment this is Internet Explorer 5.0<br />
<![endif]-->
<!--[if IE 5.5]>
According to the conditional comment this is Internet Explorer 5.5<br />
<![endif]-->
<!--[if IE 6]>
According to the conditional comment this is Internet Explorer 6<br />
<![endif]-->
<!--[if IE 7]>
According to the conditional comment this is Internet Explorer 7<br />
<![endif]-->
<!--[if gte IE 5]>
According to the conditional comment this is Internet Explorer 5 and up<br />
<![endif]-->
<!--[if lt IE 6]>
According to the conditional comment this is Internet Explorer lower than 6<br />
<![endif]-->
<!--[if lte IE 5.5]>
According to the conditional comment this is Internet Explorer lower or equal to 5.5<br />
<![endif]-->
<!--[if gt IE 6]>
According to the conditional comment this is Internet Explorer greater than 6<br />
<![endif]-->
</p>
вторник, 26 января 2010 г.
Flash to JS & JS to Flash. ExternalInterface
Незамысловатая и удобная передача данных Java Script и получение ответа в Flash с помощью ExternalInterface.
В ключевом файле флеша пишем:
import flash.external.*;
var callJasFunction:String = "callJavascript"; // Имя Java Script функции, которую вызываем
var msg:String = "Hello!"; // параметр
// Ответ после вызова JavaScript
var returnValue:String = ExternalInterface.call(callJasFunction, msg).toString();
return_txt.text = returnValue;// предварительно созданное текстовое поле для ответа Java Script
В Java Script пишем:
function callJavascript(str) {
return "Hello!";
}
В ключевом файле флеша пишем:
import flash.external.*;
var callJasFunction:String = "callJavascript"; // Имя Java Script функции, которую вызываем
var msg:String = "Hello!"; // параметр
// Ответ после вызова JavaScript
var returnValue:String = ExternalInterface.call(callJasFunction, msg).toString();
return_txt.text = returnValue;// предварительно созданное текстовое поле для ответа Java Script
В Java Script пишем:
function callJavascript(str) {
return "Hello!";
}
Подписаться на:
Сообщения (Atom)