※ ChatGPTを利用し、要約された質問です(原文:ActionSccript3.0 クラスについて)
ActionSccript3.0 クラスについて
このQ&Aのポイント
AS3を半年勉強していますが、2つのクラスを合わせて使う際に詰まっています。
BgSetクラスのback_mcやmenu_mcへのアクセスができず、BgBtmクラスのビットマップも表示されません。
また、BgSetをドキュメントクラスに定義してBgBtmを実行しても同様の問題が起きます。
Flash 初心者です。
現在AS3を勉強して半年くらいになります。一通り仕組みは理解できたのですが、2つのクラスを合わせて使うときに詰まってしまいました。内容は、
フルフラッシュで背景画像はリサイズ可能でメニュー・フッター等のサイズが固定のクラス
『BgSet.as』
package {
import flash.events.Event;
import flash.display.*;
import flash.text.TextField;
import flash.display.StageAlign;
import caurina.transitions.Tweener;
public class BgSet extends MovieClip
{
private var parH:Number;
private var parW:Number;
public function BgSet() {
init();
}
private function init():void{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.BOTTOM_RIGHT;
var bw:Number = back_mc.width;
var bh:Number = back_mc.height;
function arrangeMC():void{
var sw:int = stage.stageWidth;
var sh:int = stage.stageHeight;
menu_mc.x = sw;
main_mc.x = sw/2;
main_mc.y = sh/2;
footer_mc.y = sh;
logo_mc.x = sw;
logo_mc.y = sh;
back_mc.width = sw;
back_mc.height = bh/bw*sw;
}
arrangeMC();
function stageOnResize(evt:Event):void {
arrangeMC();
}
}
}
}
と、
背景画像にビットマップでドットを敷き詰めるクラス
『BgBtm.as』
package {
import flash.display.BitmapData;
import flash.display.Sprite;
public class BgBtm extends Sprite
{
public function BgBtm() {
var bmd:BitmapData = new BitmapData(3, 3, true, 0x00ffffff);
bmd.setPixel32(0, 0, 0xffffffff);
bmd.setPixel32(1, 1, 0xffffffff);
var sp:Sprite = new Sprite();
sp.graphics.beginBitmapFill(bmd, null, true, false);
sp.graphics.drawRect(0, 0, 1200, 1200);
sp.graphics.endFill();
addChild(sp)
}
}
}
この二つのクラスを一つずつ実行することは問題なく出来るのですが、二つの.asファイルを『Main.as』から呼び出して実行しようと思いフォルダ『MyProgram』に入れました。
それぞれ
package MyProgram{
として、
Main.asは
package {
import flash.display.MovieClip;
import MyProgram.*;
としたまでは良かったのですがこの先でつまづいています。。
ここまでで出てきた問題は、
1、BgSetのback_mc・menu_mcへアクセス出来ない。
2、BgBtmのビットマップが表示されない
3、仮にBgSetをflaファイルのドキュメントクラスに定義してBgSet.as内からBgBtmをnewして実行した場合でもビットマップが表示されない。
ということが起きています。
Main.asファイルをいろいろと書き換えて試しているのですが答えが出ません。
どなたかご教授お願い致します。
お礼
ご回答ありがとうございました。 いろいろ詳しく回答頂きましてありがとうございました。 答えが見えたような気が致します。本当にありがとうございました。