6 de dezembro de 2007

Controlando impressão [ActionScript]

Opa galera... essa informação é show de bola, e depois que descobri teve um avanço em minha vida
kkkkkkkkk

;D
bom vamos lá..

Nesse post vou ensinar a vocês como determinar qual Frame ou Mc você deseja imprimir.

Primeiramente crie um MovieClip e o istancie como 'impressao_mc' (sem as aspas)
Agora no nosso primeiro frame cole o seguinte código:
*no frame não no MC

>CODE <<>

// Criando a variável de instância com o nome de 'impressao'
var impressao:PrintJob = new PrintJob();
//
Criando uma instância e a chamei de resultado. Ela não irá retornar nenhum valor, por que a ela dei o método start() para começar a impressão.
var resultado:Boolean = impressao.start();

if (resultado) {
trace ("Imprimindo...");
// Aqui é onde eu chamo o MC ou o Frame desejado para impressão.
impressao.addPage("impressao_mc");
}else{
trace ("Erro ao imprimir");
}


É importante saber que o 'addPage' segue essa lógica de sintaxe para funcionar perfeito.

>CODE <<>
impressao.addPage(target, printArea, options, frameNumber);

ela pode até ser costumizada, não sendo necessário seguir o padrão, sendo opcional o uso de alguns desses parâmetros exceto o target.

Conheca os parâmetros:

.target - Esse parâmetro define qual o alvo será atingido, se você digitar números o compilador do filme vai entender que você está definindo por níveis de camadas, mas se for digitado strings como "impressao_mc" (sem aspas) ele vai entender que será o movieclip instanciado que será impresso.

.printArea - Esse parâmetro é especificado por 4 propriedades internas, a 'xMin', 'xMax', 'ymin', 'yMax' (sem as aspas). Essas propriedades vai determinar a área que será impressa dentro do alvo mencionado.

.options - Nas opções você define se você quer que ele imprima como bitmap ou vetor, nesse caso ele é um valor booleano definido pela palavra chave printAsBitmap, da qual vai ser impressa e se igualada a true vai imprimir bitmap se false imprime como vetor. Padrão é imprimir como vetor

.frameNumber - Imprime o Frame especificado. *lembrando que ele aceita apenas por números de frames e não em labels.


Mais abaixo outros exemplos mais complexos:

Ultilizando .options e
.frameNumber
>CODE <<>
var impressao:PrintJob = new PrintJob();
var resultado:Boolean = impressao.start();
if (resultado) {
minhaimpressao.addPage("imprima_mc", null, {printAsBitmap:true}, 5);
} else {
trace ("Impressão cancelada pelo usuário");
}


Utilizando
.printArea
>CODE <<>
var impressao:PrintJob = new PrintJob();
var resultado:Boolean = impressao.start();
if (resultado) {
minhaimpressao.addPage(
"imprima_mc", 0, {xMin:50, xMax:134, yMin:21, yMax:160});
} else {
trace ("Impressão cancelada pelo usuário");
}



Bom pessoal é isso...
Espero que ajude ;D

Até mais!!

3 de dezembro de 2007

Rodar um MC a partir de um ponto [ActionScript]

Uffaa.. 1 mês sumido mas estou aqui novamente com uma coisinha legal ;D

ultimamente ando meio sem tempo para postar devido a muita correria do serviço.. mas muita muita mesmo
kkkkkkkkkkkkkkkkk
algo do tipo trabalho escravo =p

bom mas vamos ao que interessa!

esse post vai ensinar vocês como fazer um MC (MovieClip) ficar girando em volta de um ponto fixo. Como se fosse uma 'Lua' ao redor da 'Terra'.

Primeiramente crie um MovieClip e o istancie como 'meuMC_mc'

>CODE <<>

// Aqui estou setando o 'raio' ou seja a distancia que o MC vai girar do ponto
raio = 100;
// Aqui estou setando a posição do MC (centralizando MovieClip)
this._x = Number(Stage.width - this._width)/2;
this._y = Number(Stage.height - this._height)/2;

// Função para girar o MC
function girar(){
meuMC_mc.onEnterFrame = function(){
// Seta a posição do X (formula para rotacionar a posição x)
this._x = Math.cos(Math.PI/180*angulo)*raio;
// Seta a posição do Y (formula para rotacionar a posição y)
this._y = Math.sin(Math.PI/180*angulo)*raio;

/* Verifica se o valor do angulo é menor que 360, caso seja ela almenta 20 em seu angulo. Caso contrário ele seta o valor do angulo para 1 */
angulo = angulo >= 360 ? angulo = 1 : angulo += 20;
}
}

girar();

Facil galera!!!
bom uma dica galera.. você pode criar varios MC's e fazerem ficar rodando.. algo como os 9 planetas ao redor do sol

pra fazer isso é só você repetir o mesmo precesso com outro MC e ir adicionando um valor depois do angulo

this._x = Math.cos(Math.PI/180*angulo+21)*raio;
this._y = Math.sin(Math.PI/180*angulo+21)*raio;

Espero que gostem disso heheh

bom até mais pessoal!
Fuiz.....