ActionScript3.0の質問です。クラス定義として、ライブラリーにあるインスタンスを呼び出して、ある回数だけ親インスタンスに呼び出したMovieClipを子インスタンスとして等間隔に配置する方法をご存知の方が、いらっしゃいましたら…解決の糸口をご教授ください。(検索して調べてみたところ…addChildという人もいれば、duplicateMovieClipとか…attachMovieと言う人もいましたが、addChildを記述して、まったく表示されません。)以下は、失敗スクリプトになります。よろしくお願いします。


public function SetInformation(xmldata:XML){
 var xmlLength = xmldata.child("*").length();
 for( var i:int=1; i<=xmlLength; i++){
 var stoneCard:MovieClip = new stoneCardClass();
 stoneCard.name = "stoneCard"+i;
 addChild(stoneCard); ← ここで、親.addChildとインスタンス名を付けるべきですか?
 stoneCard.x = card_x; ← 最初の一つの目のMovieClipのX座標値はこれでよいのか?
stoneCard.y = 19;
var margin_x = 37;
 var card_x = 11;
card_x += stoneCard.width + margin_x; ← 二つ目のMovieClipのX座標値はこれでよいのか?
}

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/11/07 00:25:45
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答0件)

回答はまだありません

  • id:DrArabes
    追記)現在はこのように書き換えて#1010のエラーがはかれています。検索したところ…ループアウトした数とインスタンス数があっていないからと言っていましたが…解決策が見当たりません。さらにインスタンスの表示もまだ出来ずじまいです。どなたかご存知の方がいましたら…ご教授ください。よろしくおねがいします。

    public class AttachStoneCard extends Sprite {
    var stoneCard:MovieClip;
    var margin_x:Number;
    var orignal_x:Number;
    var xLength:Number;

    //コンストラクタ
     public function AttachStoneCard(xLength:Number){
      var className:String = "stoneCardClass";
      var ClassReference:Class = getDefinitionByName(className) as Class;

      for( var i:int=1; i<=xLength; i++){
       stoneCard.name = "stoneCard"+i
       trace(stoneCard.name);
       stoneCard.width=221.25;
       stoneCard.height=729.75;
       stoneCard.x = 774;
       stoneCard.y = 16;
       margin_x = 27;
       orignal_x = 16;
       stoneCard.x = orignal_x += stoneCard.width + margin_x;
       var stoneCard = new ClassReference();
       addChild(stoneCard);
      }
     }
    }

    配置したいMovieClipはタイムラインを含んだものです。配置は可能なのでしょうか?
  • id:DrArabes
    追記2)今度は下記のように書き換えたら、#1009 NuLLのエラーがはかれてしまいました。何がNullなのでしょうか?

    public class AttachStoneCard extends Sprite {
     var stoneCard:MovieClip;
     var margin_x:Number;
     var orignal_x:Number;
     var xLength:Number;

     //コンストラクタ
     public function AttachStoneCard(xLength:Number){
      for( var i:int=1; i<=xLength; i++){
       var stoneCard:MovieClip = new stoneCardClass();
       stoneCard.name = "stoneCard"+i;
       trace(stoneCard.name);
       stoneCard.width=221.25;
       stoneCard.height=729.75;
       stoneCard.x = 774;
       stoneCard.y = 16;
       margin_x = 27;
       orignal_x = 16;
       stoneCard.x = orignal_x += stoneCard.width + margin_x;
       stage.addChild(stoneCard);
       }
      }
    }

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません