トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     変換マトリックスの印刷。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Primary
Åê¹ÆNo.29445
投稿日時: 2006-10-19 9:28
新米
居住地:
投稿: 4
使用環境:
WinXP,Flash 8
変換マトリックスの印刷。
質問させていただきます。
FLASH8で、連結した変換マトリックスを印刷しようと考えています。

スクリプトは以下の様にsc_btn(ボタン)を押すことで
concat_matrixを3つのムービークリップa_mc、b_mc、c_mcに
関連付けられたMatrixオブジェクトと連結します。

さらに、連結したMatrixオブジェクトを印刷したいのですが
PrintJob()では印刷ができません。

Matrixオブジェクトの印刷方法をご教授いただけますでしょうか。
Matrixオブジェクトの印刷が無理であれば、
連結したMatrixオブジェクトをムービークリップに再変換して印刷する方法等はあるのでしょうか。

よろしくお願いいたします。


import flash.geom.Matrix;

sc_btn.onRelease = function(){
var concat_matrix = new Matrix();
var sc = Math.random() + 0.5;
concat_matrix.scale(sc,sc);
xUpdateAllMC(concat_matrix);

var pj = new PrintJob(); //インスタンス作成
if(pj.start()){ //プリントダイアログ表示
pj.addPage("concat_matrix");
pj.send(); //スプールをプリンタに送信
delete pj;
}
};

function xUpdateAllMC(theConcatMtrix){
xUpdateMC(a_mc, theConcatMtrix);
xUpdateMC(b_mc, theConcatMtrix);
xUpdateMC(c_mc, theConcatMtrix);
}

function xUpdateMC(theMC, theConcatMtrix){
var _matrix = theMC.transform.matrix;
_matrix.concat(theConcatMtrix);
theMC.transform.matrix = _matrix;
}
tnagata
Åê¹ÆNo.29453
投稿日時: 2006-10-19 16:21
常連
居住地:
投稿: 140
使用環境:
Flex2,, Flash5
OS:Windows 2000 SP4,,WindowsVista
IE5,6,7
Re: 変換マトリックスの印刷。
引用:

Matrixオブジェクトの印刷方法をご教授いただけますでしょうか。
Matrixオブジェクトの印刷が無理であれば、
連結したMatrixオブジェクトをムービークリップに再変換して印刷する方法等はあるのでしょうか。


印刷したい物がよく分かりません。Matrixオブジェクトは印刷できません。
印刷したいのはMatrixオブジェクトを使ってアフィン変換を掛けたムービークリップa_mc, b_mc, c_mcではないのですか?
Primary
Åê¹ÆNo.29456
投稿日時: 2006-10-19 17:09
新米
居住地:
投稿: 4
使用環境:
WinXP,Flash 8
Re: 変換マトリックスの印刷。
tnagataさん、ご回答ありがとうございます。
説明不足で申し訳ございません。

ムービークリップa_mc, b_mc, c_mcをMatrixオブジェクトとして連結後、拡大・縮小してから印刷したいと考えています。

あくまでも、a_mc, b_mc, c_mcを連結し、一つのオブジェクトとして拡大・縮小し印刷したいのですが、Matrixは使用しないほうがいいのでしょうか。

ご教授いただければ幸いです。
よろしくお願いいたします。
tnagata
Åê¹ÆNo.29464
投稿日時: 2006-10-20 9:30
常連
居住地:
投稿: 140
使用環境:
Flex2,, Flash5
OS:Windows 2000 SP4,,WindowsVista
IE5,6,7
Re: 変換マトリックスの印刷。
スミマセンが
説明不足というより、独特の言葉の言い回しがわかりません。

言葉の部分で気になっているのですが、
Matrixオブジェクト==Matrixクラスのインスタンス。ですよね?
(アフィン変換を行ったMC[MC.transform.matrix = _matrixを行ったMC]をMatrixオブジェクトと言ってませんか?)

連結という言葉も良く分かりません。
MCの連結とは、どういう状態を言われているのでしょうか?

a_mc,b_mc,c_mcに、Matrix.scaleを使って拡大・縮小のアフィン
変換を行った。ここまでは分かりました。
そうすると、ここまで印刷対象と出来るのは、
a_mc,b_mc,c_mcしかないですね。

ですが

引用:

a_mc, b_mc, c_mcを連結し、一つのオブジェクトとして拡大・縮小し印刷したい

と、言われているので、a_mc,b_mc,c_mcを個別に印刷したいのではなく、一つに纏めてから、印刷したいというように言われている気がするのですが、解釈としてあっていますか?
Primary
Åê¹ÆNo.29465
投稿日時: 2006-10-20 10:56
新米
居住地:
投稿: 4
使用環境:
WinXP,Flash 8
Re: 変換マトリックスの印刷。
ご回答ありがとうございます。

今回の質問の内容は、以下のサンプルを参考にしています。
ActionScript 逆引きクイックリファレンス ?変換マトリックスを連結するには


tnagataさんの仰るとおり
連結(a_mc,b_mc,c_mcを一つに纏める)してから拡大縮小し、印刷したいということです。

よろしくお願いいたします。

tnagata
Åê¹ÆNo.29478
投稿日時: 2006-10-20 17:08
常連
居住地:
投稿: 140
使用環境:
Flex2,, Flash5
OS:Windows 2000 SP4,,WindowsVista
IE5,6,7
Re: 変換マトリックスの印刷。
サンプルを見ましたが、
ソースを見ることが出来なかったのでよく分かりませんが

動きを見る限りですが、
同じtx,tyを与えた
Matrix.translateを作成して、

各MCに対して、このMatrixオブジェクトを設定する事によって

一つのMCを移動させると、他のMCも同じように移動する・・・
といったことを実現しているように見えます。

これを、このサンプルでは連結・・・と言っているような気がします。

さて、Primaryさんの印刷というのは、a_mc,b_mc,c_mcを
hoge_mc等別のMCを作って、その中に放り込んでやれば

addPage("hoge_mc");

とすることで、印刷できると思います。
結局Matrixオブジェクトは関係なかったのかな。と思いますがどうでしょう?
Primary
Åê¹ÆNo.29483
投稿日時: 2006-10-20 23:13
新米
居住地:
投稿: 4
使用環境:
WinXP,Flash 8
Re: 変換マトリックスの印刷。
tnagataさん、ありがとうございます。

引用:
さて、Primaryさんの印刷というのは、a_mc,b_mc,c_mcを
hoge_mc等別のMCを作って、その中に放り込んでやれば

addPage("hoge_mc");

とすることで、印刷できると思います。
結局Matrixオブジェクトは関係なかったのかな。と思いますがどうでしょう?


そうですね。
Matrixオブジェクトが印刷出来ないとなると
tnagataさんの仰る通り、別MCを作るしかないように思います。

その線で制作を進めてみます。
ご教授いただきありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops