カベジマ研究所2

Legasyswareのゲーム開発と日常をゆるく適当に綴っていくブログ

ウインドウコントロールとサブアプリ、どっちが先か・・・

先日の四角い顔で縦長瞳・・・便宜上、DL仮題としておくが、

いつも使ってるテンプレよりも解像度の低いものにしたくて、

解像度を下げつつ起動時にウインドウサイズを2倍に引き伸ばして

表示させようとしたら・・・これが上手く行かず一日無駄にした。

 

勿論過去に何度も同様の処理をしているので今回が始めての試みでは無い。

 

出来ない出来ない出来ない、何故だ、何故なのだ!?

 

処理を自分の過去作からコピペでそのまま持ってきたのに上手く行かない。

諸々のオブジェクトやフレームのプロパティなども目を皿にして、全て

チェックしたのだが怪しい部分は無い。

 

魂が全て抜け去った気分だ。もう・・・出来る事は何も無い。

過去に何度もやってきた事が突然上手く行かなくなる、それがMMF2

(CF2.5)。

 

頭から血の気が全て引いたような状態で風呂に入り寝た。

・・・風呂に入るとそれまで上手く行かずに悩んでいた処理を

一瞬で解決できる事がある。これまで何度も助けられてきた。

 

でも今回は駄目だった。

布団の中で過去の作業をあれこれ振り返ってみたが

何も思い出せなかった・・・。

 

一日経ってコピペ元のアプリではサブアプリをフレーム開始時に

作成していた事が気になり(基本、サブアプリはフレームエディタに

「開始時に作成」の項目にチェックを入れて最初から置いておく)、

駄目元でやってみた・・・するとゲーム画面のズームはされていないが

ウインドウ内には表示された。

 

昨夜はどれだけいじっても真っ白い画面しか出なかったのに!?

 

ここまで来れば後は時間の問題、プロパティからサブアプリの

サイズをズーム時のサイズと同じにして・・・見事解決した。

 

昨夜サブアプリのサイズも変更しておいたのだが、どこかの段階で

アプリケーションのデフォの画面サイズに戻っていたようだ。

 

この事から解った事。

イベントエディタにてウインドウコントロールobjをいじくる前に

「ソース:このアプリ、フレーム番号:2」のサブアプリが画面内に

存在するとウインドウコントロールobjのイベントが反映されない

(以降何も表示されない)様だ。

 

サブアプリを作成した時に画面関連の情報をサブアプリに渡す処理を

内部的に行っている為だろう。順番が逆になるとおかしくなる。

 

解った事もう一つ。

このツールを使い慣れている人間でさえ、この程度で軽くつまずく。

ならば初心者が挫折するなど当然の事だろう。

 

関数がどーのとかループがどーのとか、考えれば解る事がある一方、

外野で考えても解らないツール固有の仕様は最大の障壁・・・

と言う事なのであるのかもしれないですなぁ。

 

※ウインドウコントロールobjはサブアプリ用に設定されている

フレームで一度サイズ変更などの命令を実行すれば他のフレームで

同じ処理をする必要は無い。その代わりアプリ内の全てのフレームに

ウインドウコントロールobjを設置しておく必要がある。