Показать сообщение отдельно
Старый 04.04.2011, 00:10
kseniya вне форума Посмотреть профиль Отправить личное сообщение для kseniya Найти все сообщения от kseniya
  № 11  
Ответить с цитированием
kseniya
 
Аватар для kseniya

Регистрация: Oct 2010
Адрес: Новосиб
Сообщений: 122
Вот что у меня получилось:
Код AS3:
[Embed(source = "./lupa.pbj",mimeType = "application/octet-stream")]
var Lupa:Class;
var shader:Shader = new Shader(new Lupa() as ByteArray);
var filter:ShaderFilter = new ShaderFilter(shader);
shader.data.magnification.value = [magnification.value / 100];
shader.data.outerRadius.value = [outerRadius.value];
shader.data.center2.value = [center21.value,center22.value];
shader.data.center.value = [sprite.mouseX,sprite.mouseY];
sprite.filters = [filter];
function lupaMove(e:MouseEvent):void {
	shader.data.magnification.value = [magnification.value / 100];
	shader.data.outerRadius.value = [outerRadius.value];
	shader.data.center2.value = [center21.value,center22.value];
	shader.data.center.value = [sprite.mouseX,sprite.mouseY];
	sprite.filters = [filter];
}
stage.addEventListener(MouseEvent.MOUSE_MOVE, lupaMove);
Делаете спрайт размером таким чтобы чёткость увеличения соответствовала необходимым требованиям лупы и затем шейдером уменьшаете и центруете до необходимого размера
не забываем говорить спасибо

upd: небольшие исправления.
Исходники:
Вложения
Тип файла: rar lupa.rar (467.6 Кб, 186 просмотров)


Последний раз редактировалось kseniya; 04.04.2011 в 04:01.