И не надо приблизительно высчитывать ширину текста, как это делают многие, почему то
tf.autoSize = TextFieldAutoSize.LEFT;
95% компьютерных ошибок и поломок сидит в 30-40 см от монитора
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!";
}
четверг, 19 ноября 2009 г.
AS2 BASE64
Класс для кодирования в base64
вызов ф-ции кодирования:
var unEncoded:String = "This is a string";
var encoded:String = Base64.Encode( unEncoded );
var decoded:String = Base64.Decode( encoded );
вызов ф-ции кодирования:
var unEncoded:String = "This is a string";
var encoded:String = Base64.Encode( unEncoded );
var decoded:String = Base64.Decode( encoded );
понедельник, 12 октября 2009 г.
Flash: html элемент поверх flash
Достаточно в атрибут флеша wmode записать значение opaque:
<div style="position:absolute; z-index:1">
<object ... >
<param name="wmode" value="opaque">
<embed src="flash_menu.swf" ... wmode="opaque" />
</object>
</div>
<div style="position:absolute; z-index:2">
Текст поверх флеша
</div>
<div style="position:absolute; z-index:1">
<object ... >
<param name="wmode" value="opaque">
<embed src="flash_menu.swf" ... wmode="opaque" />
</object>
</div>
<div style="position:absolute; z-index:2">
Текст поверх флеша
</div>
четверг, 1 октября 2009 г.
HTML: Прижимаем footer книзу
Достаточно хороший способ прижать футер страницы книзу средствами CSS.
Создайте html документ, скопируйте в него код ниже и проверте сами :)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
Создайте html документ, скопируйте в него код ниже и проверте сами :)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
понедельник, 7 сентября 2009 г.
AS 2.0 createClassObject или как программно создать стандартные компоненты типа input, checkbox etc
А все оказалось не так сложно=)
Первое, что мы делаем это :
import mx.controls.*;
Заходим в Window->Components и перетаскиваем в Library(панель справа) нужный нам компонент.
И теперь можем создавать объект.
Можно его создать в _root или в конкретном муви клипе, например:
componentInstance.createClassObject(className, instanceName, depth, initObject)
Параметры:
className название компонента, который мы собираемся создать (RadioButton, TextInput, Button и тд)
instanceName имя(id) конкретного компонента
depth глубина вложения, можно использовать ф-цию this.getNextHighestDepth()
initObject объект, содержащий параметры(width, height, value, name…)
Первое, что мы делаем это :
import mx.controls.*;
Заходим в Window->Components и перетаскиваем в Library(панель справа) нужный нам компонент.
И теперь можем создавать объект.
Можно его создать в _root или в конкретном муви клипе, например:
componentInstance.createClassObject(className, instanceName, depth, initObject)
Параметры:
className название компонента, который мы собираемся создать (RadioButton, TextInput, Button и тд)
instanceName имя(id) конкретного компонента
depth глубина вложения, можно использовать ф-цию this.getNextHighestDepth()
initObject объект, содержащий параметры(width, height, value, name…)
HTML: блок с закругленными краями
Вот искала решение данной проблемы и нашла, на мой взгляд оптимальный вариант.
Источник: http://help-html-css.narod.ru/divround.html
HTML
<div class="raised">
<b class="b1"> </b><b class="b2"> </b><b class="b3"> </b><b class="b4"> </b>
<div class="boxcontent">
<h1>Нефрит</h1>
<p>
Камни-целители, хранители и защитники от скверны. К ним относится весь род нефритов. Нефрит, жадеит, жад - это родственные камни, разные очень, от зеленоватых до белых, розоватых, голубых, оранжевых.
</p>
</div>
<b class="b4b"> </b><b class="b3b"> </b><b class="b2b"> </b><b class="b1b"> </b>
</div>
CSS
.raised { background:transparent; width:60%; } .raised h1, .raised p { margin:0 10px; } .raised h1 { font-size:2em; color:#fff; } .raised p { padding-bottom:0.5em; } .raised .b1, .raised .b2, .raised .b3, .raised .b4, .raised .b1b, .raised .b2b, .raised .b3b, .raised .b4b { display:block; overflow:hidden; font-size:1px; } .raised .b1, .raised .b2, .raised .b3, .raised .b1b, .raised .b2b, .raised .b3b { height:1px; } .raised .b2 { background:#ccc; border-left:1px solid #fff; border-right:1px solid #eee; } .raised .b3 { background:#ccc; border-left:1px solid #fff; border-right:1px solid #ddd; } .raised .b4 { background:#ccc; border-left:1px solid #fff; border-right:1px solid #aaa; } .raised .b4b { background:#ccc; border-left:1px solid #eee; border-right:1px solid #999; } .raised .b3b { background:#ccc; border-left:1px solid #ddd; border-right:1px solid #999; } .raised .b2b { background:#ccc; border-left:1px solid #aaa; border-right:1px solid #999; } .raised .b1 { margin:0 5px; background:#fff; } .raised .b2, .raised .b2b { margin:0 3px; border-width:0 2px; } .raised .b3, .raised .b3b { margin:0 2px; } .raised .b4, .raised .b4b { height:2px; margin:0 1px; } .raised .b1b { margin:0 5px; background:#999; } .raised .boxcontent { display:block; background:#ccc; border-left:1px solid #fff; border-right:1px solid #999; }
HTML
<div class="raised">
<b class="b1"> </b><b class="b2"> </b><b class="b3"> </b><b class="b4"> </b>
<div class="boxcontent">
<h1>Нефрит</h1>
<p>
Камни-целители, хранители и защитники от скверны. К ним относится весь род нефритов. Нефрит, жадеит, жад - это родственные камни, разные очень, от зеленоватых до белых, розоватых, голубых, оранжевых.
</p>
</div>
<b class="b4b"> </b><b class="b3b"> </b><b class="b2b"> </b><b class="b1b"> </b>
</div>
CSS
.raised { background:transparent; width:60%; } .raised h1, .raised p { margin:0 10px; } .raised h1 { font-size:2em; color:#fff; } .raised p { padding-bottom:0.5em; } .raised .b1, .raised .b2, .raised .b3, .raised .b4, .raised .b1b, .raised .b2b, .raised .b3b, .raised .b4b { display:block; overflow:hidden; font-size:1px; } .raised .b1, .raised .b2, .raised .b3, .raised .b1b, .raised .b2b, .raised .b3b { height:1px; } .raised .b2 { background:#ccc; border-left:1px solid #fff; border-right:1px solid #eee; } .raised .b3 { background:#ccc; border-left:1px solid #fff; border-right:1px solid #ddd; } .raised .b4 { background:#ccc; border-left:1px solid #fff; border-right:1px solid #aaa; } .raised .b4b { background:#ccc; border-left:1px solid #eee; border-right:1px solid #999; } .raised .b3b { background:#ccc; border-left:1px solid #ddd; border-right:1px solid #999; } .raised .b2b { background:#ccc; border-left:1px solid #aaa; border-right:1px solid #999; } .raised .b1 { margin:0 5px; background:#fff; } .raised .b2, .raised .b2b { margin:0 3px; border-width:0 2px; } .raised .b3, .raised .b3b { margin:0 2px; } .raised .b4, .raised .b4b { height:2px; margin:0 1px; } .raised .b1b { margin:0 5px; background:#999; } .raised .boxcontent { display:block; background:#ccc; border-left:1px solid #fff; border-right:1px solid #999; }
Jquery - минимальная ширина для ИЕ 6
Хороший скриптик для установки минимальной ширины для всеми любимой “шестерки”. Поддерживает ресайзинг.
function minwidth() {
if ( (jQuery.browser.msie) && (jQuery.browser.version==6) ) {
var cssprop = jQuery("#container").css("min-width");
if ( cssprop == null ) {
cssprop = 1000; //No min-width; default to min-width of 760
} else {
cssprop = parseInt(cssprop); //Convert value to numeric;
};//get document margin to figure browser width to look for
var margin = parseInt( jQuery(”body”).css(”margin-left”) ) + parseInt( jQuery(”body”).css(”margin-right”) );
//21px is the width of the scroll bar.
if ($(window).width() < (cssprop + margin + 21)) {
$(”#container”).css(”width”, cssprop); //Set fixed-width
} else {
$("#container").css("width", $(window).width()); //Set fixed-width
};
};
};
$(document).ready(function(){
minwidth(); //call IE minwidth on page load
$( window ).resize( minwidth ); //IE Resize event - resize for min-width
});
function minwidth() {
if ( (jQuery.browser.msie) && (jQuery.browser.version==6) ) {
var cssprop = jQuery("#container").css("min-width");
if ( cssprop == null ) {
cssprop = 1000; //No min-width; default to min-width of 760
} else {
cssprop = parseInt(cssprop); //Convert value to numeric;
};//get document margin to figure browser width to look for
var margin = parseInt( jQuery(”body”).css(”margin-left”) ) + parseInt( jQuery(”body”).css(”margin-right”) );
//21px is the width of the scroll bar.
if ($(window).width() < (cssprop + margin + 21)) {
$(”#container”).css(”width”, cssprop); //Set fixed-width
} else {
$("#container").css("width", $(window).width()); //Set fixed-width
};
};
};
$(document).ready(function(){
minwidth(); //call IE minwidth on page load
$( window ).resize( minwidth ); //IE Resize event - resize for min-width
});
Переезд в Блоггер.цом
Переезжаю с www.chris.com.ua сюда, так как просто некогда следить за хостингом, спамом, корректировать вордпрес, улучшать его быстродействие.
В связи с моей короткой памятью(я работаю над этим), мне проще выкладывать наработки или найденные полезные скриптики в одно место, где я смогу из любой точки практически их достать. Буду рада, если пригодятся кому-то.
По мере появления времени будут вывешены личные скрипты, заметки или просто интересные статьи или наработки других авторов.
Найти меня можно: ICQ: 284 219 130
LJ: http://muratkina.livejournal.com
В связи с моей короткой памятью(я работаю над этим), мне проще выкладывать наработки или найденные полезные скриптики в одно место, где я смогу из любой точки практически их достать. Буду рада, если пригодятся кому-то.
По мере появления времени будут вывешены личные скрипты, заметки или просто интересные статьи или наработки других авторов.
Найти меня можно: ICQ: 284 219 130
LJ: http://muratkina.livejournal.com
Подписаться на:
Сообщения (Atom)