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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0521
yoshiIphone用アプリについて5解決


yoshi

リンク

2012/5/21(Mon) 03:36:51|NO.46785

iPhone用アプリに移植できるという話を小耳に挟んだのですが、
今組んでるゲームが800×600のサイズです。
このままのソースで移植できるのでしょうか。
やっぱりiPhoneサイズの解像度に作り替えないとだめでしょうか?
かなり未来の展望を見越しての質問なんですけど・・・w



この記事に返信する


ひじき

リンク

2012/5/21(Mon) 16:58:47|NO.46787

はじめまして(?)
まず初めに、HSPでiPhoneアプリを作りたい場合、
HSP3Dish というものを使います。

HSP3Dishにて制作したiPhoneアプリをApp Storeで公開したことがあるので
一応答えられる範囲で質問に答えさせて頂きます。
iPadは所持しておらず、全くの無知であるため、
iPadについては触れません。

>今組んでるゲームが800×600のサイズです。
>このままのソースで移植できるのでしょうか。
>やっぱりiPhoneサイズの解像度に作り替えないとだめでしょうか?
800x600という解像度をiPhone上でサポートすることはできませんので、
そのままのソースで移植して同じ動作・描画をすることは考えにくいです。
ただ、iPhone4sですと、画面解像度は960x640と、800x600を上回りますので
http://gyazo.com/eec43c7deb7c4176d5039b6f3dc86ecf
↑この画像のように、黒縁を付ける形でとりあえず対応することは一応できるかと思います。
※ただしこの場合、iPhone4s以降の機種でしかプレイできなくなってしまいます。
 iPhone3以前の機種は、解像度が480×320であるためです。

あと、dllやhpiなどの拡張プラグインの機能は今のところ(2012/05/21)一切使えません。
hspの標準命令に関しても、サポートしている物としていないものがあります。
bufferで初期化されたウィンドウへlineやboxf、
mesやgcopyなどを使って描画することができません。
bufferはあくまで、picloadで画像を読み込んでおくメモリとしての使い道しかなさそうです。
詳しくは、HSP Document Library上で検索すれば見ることができる
[HSP3Dish プログラミングマニュアル・基本仕様ガイド]
[HSP3Dish iOS版プログラミングガイド]
[support_cmds]
などをご覧ください。

さらに、入力についてですが、基本的に画面のタップのみです。
iPhone用のキーボードを使用すれば、キーボード入力も受け付けるのかもしれませんが、
それについては試したことがないのでノーコメントとさせて頂きます。

あとは、思いつく順番で箇条書きしていきます。

・アルファチャネルを持ったpngを読み込み、描画することができます。
・mmplayによる多重再生が可能。(win上では多重再生されません。)
・bsave,bloadでセーブデータを作ることが可能。
・ginfo_mesx,ginfo_mesyが正常に動作しません。(バグ?)

もし回答に足りない部分があったり、
他の質問があったら引き続き分かる範囲でお答えします。



yoshi

リンク

2012/5/22(Tue) 05:01:57|NO.46801

大変詳細なご回答ありがとうございます。助かります。
解像度に関してはやはり横着をせずに作り直したほうが良いと考えられますね。
私自身使っているのはまだ3GSですし。そんなユーザーさんも多いでしょう。
拡張プラグインに関しては、完全非対応ということを聞いていたので、まったく使わず
命令も基本命令を中心に力業でやっている状態です。
入力に関してはマウスクリックのみなので、タップだけ対応できれば大丈夫だと思います。

HSPの教本の中で、インクルードして使うスクリプトがよくありますが、インクルードする
*.ASの中にDLLの読み込みや特殊命令を使っていなければ、使うことはできますかよ?
インクルードするスクリプトはwindows APIを使っている場合が結構あるようなので、
その辺が不安です。
よろしくお願い致します。



ひじき

リンク

2012/5/22(Tue) 05:55:40|NO.46802

>HSPの教本の中で、インクルードして使うスクリプトがよくありますが、インクルードする
>*.ASの中にDLLの読み込みや特殊命令を使っていなければ、使うことはできますかよ?
>インクルードするスクリプトはwindows APIを使っている場合が結構あるようなので、
>その辺が不安です。

インクルードしたファイルが、[support_cmds]にてサポート済みと表記されている命令のみで
構成されている必要がありますが、インクルード自体は通常通り行えます。

宣伝がてら、私が作った[跳ねねこ]というアプリがApp Storeにて
無料で公開されていますので、よければ遊んでみてください。
どうせ無料なのでそのソースも一応開示しておきます。
ただ、とりあえずひとつ作ってみようかなってノリで作った物なので
かなり乱雑なソースなので、hsp3dishでの開発における参考にはなれど、
ソース自体がそもそも見づらいかもしれません…。
http://www1.axfc.net/uploader/Sc/so/347997.zip
hsp3dishを導入後、解凍したファイルの中から[main.hsp]をコンパイルすると動作します。

また、言い忘れていましたが
mes命令にて描画されるフォントの大きさにも差異があるようです。
[跳ねねこ]ソースをDLして実行していただければ分かりますが、
タイトル画面右下の「(C)2012 HIJIKI」という文字が画面からはみ出していると思います。
これはmes命令で描画された文字がiPhone実機で動かした場合よりWin上で動かした場合の方が
横に長いためです。(縦にも長いかもしれません)
この座標に描画して、iPhone実機上ではだいたい適切な位置に描画されています。
http://p.tl/nHRT ←実機でのスクリーンショット

私はいつも、中央寄せ、右寄せなどをするときは、
画面外(描画範囲外)へダミーのmes(同じ文字列内容で)を描画し、
そのあとに
pos ginfo_winx - ginfo_mesx, ginfo_winy - ginfo_mesy
などと座標を指定してあげてるんですが、それが使えなくこういう形になりました。

と少し余談が長くなりましたが、お教えできる少しでも情報を増やそうと思うと
取捨選択が難しいです… すみません。



check

リンク

2012/5/22(Tue) 07:34:20|NO.46807

HSPDishはまだ開発段階なんで普通のHSPでは使える機能がサポートされていなかったり、
ひじき氏が言っているようにまだバグもあったり、プラットフォーム間での統合があまり取れていなかったりする。

面白そうな新しいHSPのランタイムだけれども、
bufferに描画できないところがなんとも……といった感じか。
別にこれでゲームができなくなるわけではないが、表現の幅は大きく狭まるような気がする。

俺の独自解釈&愚痴なんだが、そもそもの仕様としてHSPはscreenとbufferのIDを分けるべきだと。
両者はまったく別物なのに、同じ仕組みで管理されていることが不思議だ。
これはおにたま氏にも是非考えて、修正してもらいたいところだと俺は思っている。
それなら、Windows上ではscreenはウィンドウ、
bufferはDirectXのD3DUSAGE_RENDERTARGETがフラグに指定されたテクスチャ、などのように分ければ
(iPhoneなどのプラットフォームのことはよく分からないが)うまくいくのではないかと。
そもそもなぜHSPDishではbufferに描画できない仕様になっている(せざるを得ない)かが俺にはわからないので、
ここでいろいろといい続けてもしょうがないのでそろそろやめるとする。



yoshi

リンク

2012/5/24(Thu) 04:48:23|NO.46831

いろいろと参考になる事を教えて戴きましてありがとうございました。
hsp3dishは、まず元になるwindows版のゲームが完成するまでには
もっと良くなっているのかなと考えています。
(まあそもそもHSP以外の言語がほぼ使えないので、どちらにしても
これでやるしかないのですが・・・)
ご回答下さった皆様、ありがとうございました。



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