少しJavascriptの質問になって恐縮です。
配列の初期化に配列を入れるケースを紹介している
ところを探せなかったのでここに質問します。
現在インプットフォームのボタンを改造して、ボタンを押したらスイッチに
その状態を保存するようなプラグインを作っています。
例えばボタン1をクリックしたらスイッチ1をオンにするみたいな感じです。
今のところ自分だけで使うなら、下記のように二つだけのボタンで大丈夫だと
思いますが、可能であれば配列にして汎用性を高めたいと思っています。
無理なら諦めますので、可能であれば教えて下さい。
以下のようなsubmitボタンを
submit:null←ボタン1
submit2:null←ボタン2
gui.submit.addEventListener("mousedown", stopPropagation);
以下のように記述しても問題ないでしょうか?
var btn=[];
submit:btn,
gui.btn[0].addEventListener("mousedown", stopPropagation);
gui.btn[1].addEventListener("mousedown", stopPropagation);
gui.btn[2].addEventListener("mousedown", stopPropagation);
var gui = {
submit :null,
submit2: null,
is_pc : true ,
init : function(){
this.is_pc = Utils.isNwjs();
略
} ,
create : function(){
// 入力フォーム
略
}
以下略
配列の初期化時に配列を入れる方法
Re: 配列の初期化時に配列を入れる方法
配列のリテラル初期化でどうでしょうか?
以下のように二次元配列を定義できるので、これの応用でできると思います。
以下のように二次元配列を定義できるので、これの応用でできると思います。
コード: 全て選択
var array =[
[1,2,3],
[4,5,6],
[7,8,9]
]
現在、プラグイン依頼はお休み中です。
Re: 配列の初期化時に配列を入れる方法
回答ありがとうございます。
元のプログラムが以下のようになっているのですが、
多分一次元配列に、オブジェクトや関数を入れていると
思いますが、アクセス方法が
gui.init();
みたいな事をしていますから、
guiの構造は変えないようにしたいです。
なので submit:null,をsubmit:配列オブジェクトに
変えたかったのですが、以下のような初期化はできないのでしょうか
私はツクール標準のショップコマンドの「購入する、売却する、やめる」の処理
が理解できなくてこちらの方法に逃げたのですが、
ショップのコマンドが理解できれば不要なプラグインですので
汎用性を持たせるために修正が多くなるなら諦めます;;
元のプログラムが以下のようになっているのですが、
多分一次元配列に、オブジェクトや関数を入れていると
思いますが、アクセス方法が
gui.init();
みたいな事をしていますから、
guiの構造は変えないようにしたいです。
なので submit:null,をsubmit:配列オブジェクトに
変えたかったのですが、以下のような初期化はできないのでしょうか
コード: 全て選択
//汎用的に作り変える方法
var btn=[];
var gui = {
submit :btn,
is_pc : true ,
gui.submit.btn[0] = document.createElement('input');
//元のプログラム
var gui = {
submit :null,
submit2: null,
is_pc : true ,
init : function(){
} ,
create : function(){
} ,
success : function(){
} ,
cancel : function(){
} ,
start : function(){
} ,
end : function(){
} ,
screenAdjust : function(){ // canvasの左上を基準にした位置に合わせる);
}
//
gui.init();
私はツクール標準のショップコマンドの「購入する、売却する、やめる」の処理
が理解できなくてこちらの方法に逃げたのですが、
ショップのコマンドが理解できれば不要なプラグインですので
汎用性を持たせるために修正が多くなるなら諦めます;;
Re: 配列の初期化時に配列を入れる方法
ツクールのWIndow系クラスの動きを理解する方が最終的には得だと思います。
Window_ShopCommandクラスのmakeCommandList()内をコメントアウトして、どこの処理が何と関連しているかを探ると良いと思います。
また、guiではcancel : function(){...}などでハンドルを登録して動かしますが、ツクールのWindowもsetHandlerでコールバック関数を登録して動かす仕組みです。
この辺りをイメージしてもらえれば、理解しやすいと思うのですが、どうでしょうか?
Window_ShopCommandクラスのmakeCommandList()内をコメントアウトして、どこの処理が何と関連しているかを探ると良いと思います。
また、guiではcancel : function(){...}などでハンドルを登録して動かしますが、ツクールのWindowもsetHandlerでコールバック関数を登録して動かす仕組みです。
この辺りをイメージしてもらえれば、理解しやすいと思うのですが、どうでしょうか?
現在、プラグイン依頼はお休み中です。
Re: 配列の初期化時に配列を入れる方法
少しやってみましたが、indexwindowやgoldwindowとは違って、まったく表示されません。
早速ですが、積みました。
質問内容が違うので新しくスレッドを作って質問しています。
早速ですが、積みました。
質問内容が違うので新しくスレッドを作って質問しています。