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

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

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

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Post Как программно можно отрисовать надпись в виде точек

В приложении можно увидеть файл, где я в ручную отрисовал надпись точками размером в 1px. Сейчас есть идея повторить это при помощи кода, но даже не знаю с какой стороны к этому подступиться. Хочется отрисовать, используя мувик в качестве основы, чтобы после был доступ к каждой из точек (в частности к столбцам).

Возможно ли такое с помощью скрипта? Подайте интересных идей, как это реализовать - желательно избежать угловатости у букв (особенно видно на скруглениях). Может где есть урок или примерчик похожий?

Заранее благодарю
Изображения
 

Старый 01.10.2009, 12:17
lumaca вне форума Посмотреть профиль Отправить личное сообщение для lumaca Найти все сообщения от lumaca
  № 2  
Ответить с цитированием
lumaca

Регистрация: Sep 2009
Сообщений: 61
Объявить текст маской для мувика с точками:

Код AS1/AS2:
points.setMask(txt);

Старый 01.10.2009, 12:23
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 3  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Ну вот тут посмотрите:
http://noregret.org/tutor/pixel/
Была еще одна хорошая статья с примером, но не могу сейчас вспомнить, надобности ранее не было, сразу не найду.

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
если этими точками нужно потом как-то управлять, то можно наплодить мувиков с квадратиками
Код AS1/AS2:
import flash.display.BitmapData;
import flash.geom.Matrix;
 
var imageMC:MovieClip = createEmptyMovieClip("mc", 0);
var tf:TextField = createTextField("tf", 1, 0, 0, 0, 0);
tf.autoSize = "left";
tf.text = "TABAK.RU";
tf.setTextFormat(new TextFormat("tahoma", 24, 0x0, true));
 
var w:Number = tf._width;
var h:Number = tf._height;
 
 
var bmd:BitmapData = new BitmapData(w, h);
bmd.draw(tf,new Matrix(),null,null,null,true);
 
 
for (var i:Number = 0; i<w*h; i++) {
	var x:Number = i%w;
	var y:Number = Math.floor(i/w);
	addPixel(i,bmd.getPixel(x, y));
 
}
bmd.dispose();
tf.removeTextField();
 
 
function addPixel(i:Number, clr:Number)
	{
		if (clr == 0xFFFFFF) return;
		var pixel:MovieClip = imageMC.createEmptyMovieClip("pixel" + i, i);
		var pixelColr = 0xFF0080;
 
		//антиалиасинг
		var clrDepth:Number = (clr >> 16) / 0xFF;
		var r:Number = pixelColr >> 16 & 0xFF ;
		r += (0xFF - r) * clrDepth;
		var g:Number = pixelColr >> 8 & 0xFF;
		g += (0xFF - g) * clrDepth;
		var b:Number = pixelColr & 0xFF;
		b += (0xFF - b) * clrDepth;
		pixelColr = r << 16 | g << 8 | b;
		///////
 
		pixel.beginFill(pixelColr);
		pixel.lineStyle(0,0xFFFFFF);
		var k:Number = 4;
		pixel.lineTo(k, 0);
		pixel.lineTo(k, k);
		pixel.lineTo(0, k);
		pixel.lineTo(0, 0);
		pixel.endFill();
 
		pixel._x = k*(i % w);
		pixel._y = k*Math.floor(i / w);
	}
 
function getPixel(x:Number, y:Number):MovieClip {
	var i = y*w+x;
	return imageMC["pixel"+i] || null;
}

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

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

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


 


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


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