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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.02.2011, 19:48
gig вне форума Посмотреть профиль Отправить личное сообщение для gig Найти все сообщения от gig
  № 1  
Ответить с цитированием
gig

Регистрация: Nov 2010
Сообщений: 3
По умолчанию Как напечатать Sprite на странице несколько раз?

Делаю так:
Создаю программно sprite, после этого его нужно несколько раз изменить и напечатать на принтере, но печать должна происходить на одной странице.
Еесть две кнопки, одна должна добавить объект на печатаемую страницу, по нажатию на вторую и произойдет сама печать.

Я сделал так: создал еще один Спрайт job_code и пытаюсь добавлять в него тот мой изменяемый спрайт.

Код AS3:
j_but.label = "Добавить к печати";
p_but.label = "Печать"; 
var pj:PrintJob = new PrintJob();
var p_i:int = 0;//счетчик отправленного на печать
 
j_but.addEventListener(MouseEvent.CLICK,pj_code);//создание задания на печать
function pj_code(e:MouseEvent) {
	var t_X, t_Y:int;
	t_X = scr_code.x;
	t_Y = scr_code.y;
	if ((p_i - Math.floor(p_i /3) * 3) == 0) {scr_code.x = 80};
	if ((p_i - Math.floor(p_i /3) * 3) == 1) {scr_code.x = 180};
	if ((p_i - Math.floor(p_i /3) * 3) == 2) {scr_code.x = 280};
	scr_code.y = (Math.floor(p_i / 3) * 60 + 10);
	scr_code.scaleX = 0.3;
	scr_code.scaleY = 0.3;
	job_code.addChild(scr_code);
	scr_code.scaleX = 1;
	scr_code.scaleY = 1;
	scr_code.x = t_X;
	scr_code.y = t_Y;
	p_i++;
	//addChild(job_code);
	//trace(job_code.numChildren);
}
 
p_but.addEventListener(MouseEvent.CLICK,print_code);
function print_code(e:MouseEvent) {
	if (job_code.numChildren == 0) {job_code.addChild(scr_code);}
	pj.start();
	pj.addPage(job_code);
	pj.send();
	 p_i = 0;
}
А печатает только последний отправленный объект в начале страницы.

Старый 10.02.2011, 19:53
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 2  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
когда делаете addChild() то displayObject удаляется со старого места и помещается на новое. Вам надо создавать новый спрайт каждый раз как вы хотите получить его копию.

Старый 10.02.2011, 20:07
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 3  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
нарисуйте свой спрайт в BitmapData и размножайте потом сколько угодно. примерно вот так:

Код AS3:
var bmp:BitmapData = new BitmapData(scr_code.width,scr_code.height,true,0);
bmp.draw(scr_code)
while(job_code.width < 1500){//от фонаря
job_code.addChild(new Bitmap(bmp)).x += job_code.width + 10 // от него же )
}
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

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

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


 


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


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