ボタンを含むメインメニューをプログラムしようとしています。MenuAchievementsButton というクラスがあり、そのコンストラクターでは、ドキュメント クラスからステージの幅とステージの高さが渡されます。これをなぞってみると、正しい幅・高さです。
ボタンの高さをステージの高さ / 100 にしようとしています。これをやってみました.height = ステージの高さ / 100 ですが、そうするたびに、入力した場合でも、必要な結果の 4 倍が得られます5 のような数字で、Photoshop で px を測定します。
また、オブジェクトを移動しようとすると、同様の問題が発生します。たとえば、左右に 20 ピクセルにしたい場合は、左右に 80 ピクセルになります。
どんな助けでも大歓迎です!
package menus {
import flash.display.MovieClip;
public class MenuAchievementsButton extends MovieClip {
private var _stageWidth, _stageHeight:int;
public function MenuAchievementsButton(stageWidth:int, stageHeight:int) {
_stageWidth = stageWidth;
_stageHeight = stageHeight;
alpha = 1;
rescaleMe();
repositionMe();
trace(_stageWidth, _stageHeight);
}
private function rescaleMe():void {
var oldWidth = this.width;
var oldHeight = this.height;
this.height = _stageHeight/100;
this.width = (this.height * oldWidth) / oldHeight;
}
private function repositionMe():void {
this.x = 20;
this.y = 20;
trace(x,y,width,height);
trace("Stage height is: ",_stageHeight,"Stage height divided by 100 is: ", _stageHeight/100, "And the object's height, which should be stageheight / 100 is:", this.height);
//Gives Stage height is: 800 Stage height divided by 100 is: 8 And the object's height, which should be stageheight / 100 is: 8
//Actually, though, it's 36px!
}
}
}