私はas3コードでスプライトを持っています。サイズを変更するために高さを入力したいのですが、どのようにそれに応じて幅を調整できますか?スプライトをas3でスケールしますか?
sprite.height = 200;
sprite.width = ??
おかげ
私はas3コードでスプライトを持っています。サイズを変更するために高さを入力したいのですが、どのようにそれに応じて幅を調整できますか?スプライトをas3でスケールしますか?
sprite.height = 200;
sprite.width = ??
おかげ
あなたは幅/高さを設定するときに、他の次元を拡張するためにそれらを使用できるようにスケールのプロパティが、更新されています
sprite.height = 200;
sprite.scaleX = sprite.scaleY;
簡単かつ少ないエラーを自分でアスペクト比を更新/追跡するよりも起こりやすいです。
あなたがスプライトを拡張したい場合は、なぜ利用規模のメソッドを使用していませんか?
sprite.scaleX = 2;
sprite.scaleY = 2;
それ以外の場合は、幅/高さなどの比率を適用する必要があります。
スプライトの幅が150、高さが100であるとします。つまり、幅は高さの1.5倍です。
// calculate ratio of scale factor
var ratio:Number = sprite.width/sprite.height; // 1.5
// apply ratio your sprite's original dimensions:
sprite.height = 200;
sprite.width = sprite.height * ratio; // 300
これは、マトリックス変換を使用して達成することもできます。