| 
 | オブジェクト消しちゃって・・・
  投稿者 : mmm(softbank219055097076.bbtec.net) - 2011/03/04(Fri) 20:14 
  No.12871
 |  | 
 |  | 
 
 | 
 | 下のようなプログラムを組んだのですが、 「Variable$blockは初期化されていないため、メンバ変数syuxを参照できません」
 とのエラーメッセージが出て、動きません。
 自分としてはオブジェクト$blockを画面上から消去してしまったのが原因だと思っているのですが。
 オブジェクトを復元する方法はないのでしょうか。
 ---$getblock.tonyu(これとは別に$blockクラスがあります)---
 extends SpriteChar;
 while(1){
 if($map.getAt($syu.x,$syu.y+9)==$pat_bl+6){
 $block.time=1;
 appear(new block(-22,0,1));
 }
 if($map.getAt($syu.x+7,$syu.y+9)==$pat_bl+6){
 $block.time=2;
 $block.syux=1;
 appear(new block(-22,0,1));
 }
 if($map.getAt($syu.x-7,$syu.y+9)==$pat_bl+6){
 $block.time=2;
 $block.syux=-1;
 appear(new block(-22,0,1));
 }
 update();
 }
 | 
 
 
 | オブジェクト復活(非推奨)
  投稿者 : リセッタ(em114-49-174-176.pool.e-mobile.ne.jp) - 2011/03/08(Tue) 03:01 
  No.12875
 |  | 
 |  | 
 
 
 | # [メニュー][オブジェクト][新規]の「オブジェクト/クラスの作成」ダイアログで # [オブジェクトを作成]チェックボックスを間違えて外してしまった場合も同じ対応です。
 
 あまりお勧めはできませんが…
 消したオブジェクトのページファイルを編集します。(メモ帳/NotePadで充分)
 編集するファイルは [ツール]ウィンドウから[プロジェクト マネージャ]ウインドウで確認してね。ほにゃらら.cmmlだよ
 # たぶん、index.cmml
 ※編集前にバックアップしておくこと。(エクスプローラでファイルをコピーして貼り付けでOK。作業確認後バックアップは削除)
 
 真ん中くらいに
 
 <resourcelist name="gen">
 <generator className="hoge" name="$hoge" inst_pat="17" inst_x="90" inst_y="82"/>
 <generator className="fuga" name="$fuga" inst_pat="18" inst_x="110" inst_y="82"/>
 </resourcelist>
 
 の様に書かれてるから
 
 <resourcelist name="gen">と</resourcelist>の間に
 <generator className="クラス名" name="$オブジェクト名" inst_pat="適当" inst_x="適当" inst_y="適当"/>
 を挿入する。
 
 inst_patはパターン番号、inst_x,inst_yは画面の座標
 画面に収まる様に適当にね
 
 # name要素の値を $クラス名→$オブジェクト名 に修正
 | 
 
 
 | Re: オブジェクト消しちゃって・・・
  投稿者 : mmm(softbank219055097076.bbtec.net) - 2011/03/09(Wed) 19:49 
  No.12877
 |  | 
 |  | 
 
 
 | オブジェクト復活
  投稿者 : リセッタ(em114-48-162-55.pool.e-mobile.ne.jp) - 2011/03/18(Fri) 19:04 
  No.12900
 |  | 
 |  | 
 
 
 | cmmlファイルをいじる必要ないみたいです。 
 ・オブジェクトを画面から削除しちゃった
 ・更にテキストエディタからクラスも消しちゃった
 ・間違ってオブジェクト作らずにクラス作った
 
 以上は、同じ対応でオブジェクトの再作成可能です
 但し、
 
 ・設計中のディレクトリに“クラス名.tonyu”ファイルが残っていること
 
 1.設計中のディレクトリのプロジェクトを立ち上げます。
 2.(必要なら)設計中のページへプロジェクトマネージャで移動。
 3.[メニュー][オブジェクト][新規]で「オブジェクトを作成する」をチェック(有効)にする。
 4.「クラス名」に“クラス名”を入れて「OK」ボタンを押す。
 (「オブジェクトの種類」は“クラス名.tonyu”ファイルがあればファイルが優先されます)
 5.必要な初期値を[オブジェクトインスペクタ]で設定します。
 
 # 動作を見れば解ると思うけど、別のエディタで作った
 # “クラス名.tonyu”ファイルをインポートする場合も
 # 設計ディレクトリにコピーしてから、オブジェクト新規作成
 # (必要なら「オブジェクトを作成」をチェック)で出来ます。
 
 | 
 
 
 | Re: オブジェクト消しちゃって・・・
  投稿者 : mmm(softbank219055097076.bbtec.net) - 2011/03/20(Sun) 22:34 
  No.12903
 |  | 
 |  | 
 
 
 | もうひとつ解法を見つけました。 クラスが残っている場合のみですが、
 たとえばオブジェクト名とクラス名がAだったとして、
 オブジェクトAを消してしまったときは、
 クラスAの内容(スクリプト本文)をどこかに保存しておいて、
 クラスAを再度作り直し(クラスAを削除して、オブジェクト作成でオブジェクト、クラス名をAにする)
 してもうまくいくようです。
 自分の場合は、クラスが残っていたので何とかなりました。
 | 
 |