HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0922
popcornシューティングゲームで敵を呼び出すのですが...。2解決


popcorn

リンク

2009/9/22(Tue) 15:29:59|NO.27882

弾幕STGを作ってるんですが
敵の情報を書いたxlsxファイルを呼び出す方法がよくわからないんです。
調べてみるとnewcomを使ってみるといいみたいなことが書いてありました。

しかしこういう命令なんて使ったことがないもので、サンプルでは
何をしているのかよくわかりませんでした。

;
; xlsのデータを取得する
;
myname = "test.xls"
fname = dir_cur+"\\"+myname ; フルパスを作成する
;
newcom xlApp, "Excel.Application"
xlApp("Visible") = 0; Excelウィンドウは非表示
xlApp("DisplayAlerts") = 0; 警告メッセージを表示させない
xlBooks = xlApp("Workbooks") ; Workbooks コレクション取得
xlBooks->"Open" fname ; 指定ファイルを開く
xlBook = xlBooks("Item",myname) ; book取得
xlSheet = xlBook("Worksheets","Sheet1") ; Sheet取得
xlRange = xlSheet("Range","A1")
xlCurReg = xlRange("CurrentRegion")
xlRows = xlCurReg("Rows")
xlColumns = xlCurReg("Columns")

sy = 0+xlRows("Count") ; 縦の項目数を取得
sx = 0+xlColumns("Count") ; 横の項目数を取得

repeat sy:y=cnt
repeat sx:x=cnt
xlCur = xlRange("Offset",y,x) ; X,Yのセルを取得
data = xlCur("Text") ; 内容テキストを取り出す
mes "("+x+","+y+")="+data ; 表示する
loop
loop

; COMのあとしまつ
delcom xlCur : delcom xlColumns : delcom xlRows
delcom xlCurReg : delcom xlRange : delcom xlSheet
delcom xlBook
xlBooks->"Close" : delcom xlBooks
xlApp->"Quit" : delcom xlApp

参考 http://hspcenter.com/hsptvm/archives/2006/10/hsp3_11.html


repeat〜loopで情報を取り出しているんだな、とわかるのですが(違ってたらすみません)
最初のほうは定義の嵐なので、何をしているのかわからないです。

質問の内容としては
・repeat〜loopより前のところは何をしているのか
・newcomをSTGで使うのはやりやすいほうなのか(ほかにもっといい方法があるのか)
(もし適さないのでしたら、どういうことに使うのか教えていただけると嬉しいです)
・必要とする数字(適当にA!に書いてある数字とか)はどこに代入されているのか

というところです。質問内容がめちゃくちゃな気もしますが、理解を深めたいので
忙しいとは思いますが、できたら返事のほうをよろしくお願いします。
長文になってしまい失礼いたしました。



この記事に返信する


リンク

2009/9/22(Tue) 18:36:06|NO.27890

ただデータを読みたい場合は、xlsxじゃなくて
csvファイルの方がわかりやすいと思います。
新しく、split っていう命令も追加されましたしね!

私的には、STGに限らず、ゲームに
xlsとかxlsxファイルをそのまま使うのはオススメしません。
読み出すプログラムだけで何行もかかってしまいますし、
ファイル自体がcsvより何倍も重いです。(言うまでもありませんが…^^;

それでも使うのは、表計算ソフトを作るときでしょうかね……。



popcorn

リンク

2009/9/22(Tue) 18:58:58|NO.27891

光さん、返信ありがとうございます。
csvファイルですね。
サンプルのところでもその話がありましたので、もっといろいろ調べてから
質問すべきだったかもしれません。申し訳ありませんでした。

実際僕はツール製作には興味がない(というか、何を作ればよいのやら。)ので
表計算ソフトを作ろうとは思わないですね...。
そんな感じなので、newcomを使うこともないのかな。

とりあえず、今回の質問についてはxlsxではなくcsvファイルを使ったほうが
よいということで、解決にさせていただきます。
まあすべての疑問がなくなったと言えばそうではないんですが、
今のところは、newcomよりsplitを使ったほうがよさそうなので。

csvファイルについて調べてみて、どうしてもわからなくなったら
また別の質問をさせていただきます。

本当にありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.