HSP - Hot Soup Processor [5]
( ,,,)
.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また~りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 前スレ、関連サイトは
>>2-5 あたり
ヽ ──── '
test
あぼーん
でもたまに業者が爆撃してくる罠。
ゲーム作ろうぜ!今こった奴作ってるが一番難しくメンドイのがプログラミングではなく
ゲームに使う画像の用意という罠。
そしてプログラムしかできない漏れはゲーム作れない
アンディーメンテのライスタあるでしょ。
あれのキャラ画像抜いたようなやつなら、プログラムのみでも充分いけると思う。
多分。
ドット絵ぐらいなら時間さえあれば誰でもかけるよ
見れるものを描けるのはほんの一握りだがな
15 :
名前は開発中のものです。:03/07/20 04:33 ID:Yxml+tUA
いっそのこと単色で
いっそ頑張れぎん君で
パレットの作り方やら、安置エイリアスのかけ方などのコツを掴めば
それほど難しくないよ。根気は必要。
といってもこのやり方は古い(w。
絵苦手だなぁ…
こんな折れでも頑張って練習したら0から描けるようになるかな…
3Dでやってしまうとか。
前の仕事場のリーダーは3D技術はすごかったが
デッサンとかまったく出来ない人だった。
写真とって、適当に切り出せばいいだろーが
Ozawa-Kenみたいになりそう
受け狙いならそれでOKだが
23 :
名前は開発中のものです。:03/07/20 21:03 ID:+KflV/kt
>>19 仕事ってプロかよ。
なんでHSPスレなんかに来てるんだ?
24 :
19:03/07/20 22:44 ID:YxuUl2lU
俺プログラマじゃないし…
会社だと好きなもん作れないし…(w
25 :
名前は開発中のものです。:03/07/22 01:49 ID:BoP6A4cS
HGIMGじゃアカンの?
あぼーん
あぼーん
>25
なんで3Dなのよ?
あれを3Dにしたところで面白くなるとは思えないんだが。
30 :
名前は開発中のものです。:03/07/22 22:20 ID:7A+QKW+h
13歳って3Dでやりたいお年頃なんだよ
そらまただいぶ若いな
平行四辺形描画のサンプルを下さい。
マズハジブンデヤッテミロ
34 :
名前は開発中のものです。:03/07/24 11:20 ID:byvMVVbz
___
/ /
~~~
>>32 #module "line2"
#deffunc line2 int,int,int,int
redraw 0:mref para1,0:mref para2,1:mref para3,2:mref para4,3:line para1,para2,para3,para4:pset para3,para4
return
#global
#module "abs"
#deffunc abs val,val,int
mref para1,16:mref para2,17:mref para3,2
para2=1:if para3<0:para3=-para3:para2=-1
para1=para3
return
#global
#module "parallelogram"
#define p1_x para.0
#define p1_y para.1
#define p2_x para.2
#define p3_xv para.3
#define p3_yv para.4
#deffunc parallelogram val
redraw 0:mref para,48:abs a,b,p2_x-p1_x+1
repeat a:c=cnt*b:line2 p1_x+c,p1_y,p1_x+c+p3_xv,p1_y+p3_yv:loop
return
#global
dim para,5:para=32,32,320,64,320:parallelogram para:redraw 1:stop
36 :
名前は開発中のものです。:03/07/24 20:59 ID:uN6lLbU6
あぼーん
39 :
名前は開発中のものです。:03/07/25 02:51 ID:8hPp697V
あぼーん
メッセージがウィンドウの端に到達したら、
自動改行するようにするにはどうしたらいいかね。
>>41 p4でスクロールバー付けないようにするとか?
>41
mes でってこと?
>>41 mesでやるなら、"ginfo 7"で描画サイズ取得して自分で計算するしかないんじゃない?
mesboxで解決しました。
さて、あとはサクラプラグインでどうにかするか。
パレッドモードwindowからフルカラーモードwindowへ
色を変化させずにコピーすることは可能ですか?
Easy3D For HSPを使ってる奴いねがー?
HSPIMGとかZGPと比べて速度面や使い勝手などを教えて欲しい。
HGIMG、だった。
HSPIMGってなんやねん
>>47 最近かなり機能追加されていい感じになってると思うがまだまだカユイ所に
手が届かないって感じだ。
俺的にはXファイルを読み込めない時点で萎えてるんだが。
>>25 どうでもいいけど
エクソシズムブリーズはO2じゃないよ。
>>49 thx
そうか。*.xが読めないのは痛いなー。
HGIMGは画角設定ができんしZGPは頂点変形ができない。
どうもちょっと足らないなー。
テキストでマップ作ってそれを読み込む奴のサンプルみたいの無いかな。
適当に作ったんだが微妙なんで。
コンテストにゲームを出そうとしてるんだが、
9月末までに完成するかどうか微妙…。
出来たとしてもバグが残りまくりな予感。
>>55 見つからねーよヴァカ
とマニュアル通りのレスをして見る。
またこの展開か
言葉汚すぎ
2ちゃんねるで言葉の汚さを指摘するレスは初めて見たので記念age
あぼーん
あぼーん
>>56 「hsp マップエディタ」 で検索してみろ。
>>61 エディターか!
全く思いつかなかったよ。サンクス
あぼーん
一応、BMP読み込んでmapにするサンプルならつくったけどいる?
>64
イラネ。
マップエディタ作れないような奴なら
ゲーム完成させるのは無理。
甘やかすとそのうち
「HSPでRPGを作るにはどうすればいいんですか?」
とか言う厨房が出てくる。
まあまあ
マプエディタがどうのってとこまで行ってれば平気だと思うぞ。
俺はSTG作ってるからカンケーないけど。
いや、無くはないけどもう作った…。
俺は前にSLG、今はRPGを作っているけど、
どっちのゲームも専用のマップエディタを作ったよ。
その方が後々の作業的にもかなり楽だしね。
欲しくはないが どんなもんか見てはみたいな
70 :
64:03/07/31 11:19 ID:41wL+F5s
mapってあれだよね、作っといたデータをpeekとpoke出来ればいいんだよね?
ちがったらスマソ、一応俺が作ったのはこんなかんじのプログラムでつ。
exist"map.bmp";ファイルのサイズ取得
alloc map,strsize;変数をファイルのサイズ分取得
bload"map2.bmp",map,strsize;バッファにロード
wpeekunder_map_width,map,18;マップ幅データの下位2byte読み込み
wpeekover_map_width,map,20;マップ幅データの上位2byte読み込み
map_width=under_map_width+(over_map_width*65536);マップの幅データ
wpeekunder_map_height,map,22;マップ高さデータの下位2byte読み込み
wpeekover_map_height,map,24;マップ高さデータの下位2byte読み込み
map_height=under_map_height+(over_map_height*65536);マップ高さデータ
で、読み込みはこんなマクロをつくった
#deffunc map_get int,int
mref p1,0
mref p2,1
x_y=1078+(map_width*(map_height-1))+p1-(p2*map_width);ポインタもどき
peekmap_char,map,x_y;map_charにmapのポインタもどきの先のデータ読み込み
return
いた汚しスマソ
マップファイルをテキストにしたいからってPeekじゃなくてmemcpy使うのは邪道?
画像ファイルからマップデータにしたいなら、
一旦画像をbufferスクリーンにロードしてpeek&pokeかmrefの66を使えばいいと思われ
peek&pokeじゃなくてpgetだよ…
てかこれはパレット付きの画像データにしか使えないのだが
75 :
64:03/07/31 14:48 ID:HZlWSeyW
>>73 一応それとほぼ同じ事やったのがこれのつもりだったんですが・・・
tabが省略されるのわすれててかなすぃことにめちゃくちゃになりますた。
すんまそん。
ところで皆さんがアクションとかシューティング作る時は何ドットスクロールにしてます?
1ドットだとかなりつらげになることがわかってしまったので変更してるんですが・・・
多重スクロールの場合は一番奥は1ドット/frame以下かな。
手前はもっと速くするけど。
4ドットが基本
HSP+DirectXでMMORPG作ってるって香具師が居たんだが
チャットはどうやるんだろうか?
たしかinputは使えないし。
つーか普通にやる方法あったら教えてくらさい。
AMddraw.hpiってもう手に入らないの?
どんなのか見てみたかったんですが
>>78 ちょっと無理があるがこんな感じ。
#include "hspdx.as"
sdim mess,256
es_ini:es_screen 640,480,16
objsize winx,20
input mess
*@
es_cls
color 255,255,255
pos 0,0:es_mes mess
await
es_sync
getkey s,27
if s:end
goto *@b
ちょっと研究してみる。
範囲選択が可能に
#include "hspdx.as"
#include "anthspex.as"
sdim mess,256,2:dim posit,2,2:dummy=0
es_ini:es_screen 640,480,16
objsize winx,20
font "System"
mesbox mess.0,,,1
*@
es_cls
npos=0
objsend 0,$b0,0,dummy,0
ped=stat
>>16:pst=stat<<16
>>16 if pst!ped{;範囲選択
color 0,0,255
strmid mess.1,mess.0,0,pst;先
strdot posit.0,mess.1
strmid mess.1,mess.0,0,ped;後
strdot posit.1,mess.1
es_boxf posit.0.0,0,posit.1.0,18
}else{
>>85 速度面で問題無いのだろうか。
それとIMEがうまく使えないのが問題っぽい。
89 :
79:03/08/01 21:44 ID:8q+NLnY0
>>87 2.6用に修正までして下さって感謝。
サンプル見ただけなんだけど、すごい良さげ。
製作者の方はもうやめちゃったのかな。少し残念。
90 :
85:03/08/01 22:22 ID:UCsdGtAb
strmid mess.1,mess.0,0,pst
strdot posit.0,mess.1
color 255,255,255
es_boxf posit.0.0,0,posit.0.0+1,18;カーソル
}
color 255,255,255
pos 0,0:es_mes mess.0
await
getkey s,27
if s:end
stick s
fps=0
es_getfps fps
str fps
pos 0,100:es_mes "FPS:"+fps
if a=0:es_sync
goto *@b
連投規制でかけなかった。
>>86 速度面なら大丈夫でしょう。
IMEは…
チャットのときだけWindowモードにすりゃあいいだろ
>>91 もまえMMORPGした事無いだろ?
そんな頻繁に切り替えられると思ってるのか?
HSP極めたら、次何いけばいいですか?いきなりC言語にいっても理解できますか?
どの時点で極めたことになるのだろう・・・
>>95 極めたんならついでに
>>78の答えも頼むよ
間違ってもチャットの時だけWindowモードってのは無しな
>95
HSPを極めるまでやってしまったのなら
もう他の言語の習得は無理。
おにたまと心中してください。
>>95 やってみればいいじゃん… いちいちそんなこと訊かずに
bmpsaveで、横幅が4の倍数じゃないと保存される画像の
一番上のラインが変になるんだけど。漏れだけかな
>>101 そっか。横幅が4の倍数云々は修正されたと思いこんでた
>>97 PCを2台用意して一個をチャット専用に使う
105 :
名前は開発中のものです。:03/08/05 08:00 ID:55IgKzv+
あぼーん
デバッグウィンドウがウィンドウID32なのに今頃気づいた
0へぇ
ウィインドウ配置を変更するのはscreen命令以外ないんでしょうか?
width
113 :
111:03/08/06 20:06 ID:6P94KqG1
あぼーん
あぼーん
116 :
名前は開発中のものです。:03/08/08 05:10 ID:4G8iqUlJ
vramの操作方法について教えよう。
開発者のおにたまは無償で使ってくださいだが
われわれ非初心者は違う。
これでもかというくらいにあたまをさげない限りは
無視だ。
117 :
名前は開発中のものです。:03/08/08 05:12 ID:4G8iqUlJ
まいいや、ここでおまいらに感謝されても何の足しにもならんし
すんなり教えてしまおうか。何でも訊いてくれ。
そのまえに何が言いたいのか教えてくれ
119 :
名前は開発中のものです。:03/08/08 05:13 ID:4G8iqUlJ
遠慮しなくていいぞ。即答だ。
(・∀・)自作自演デシタ!
>117
HSPって何ですか?
お答えできません
126 :
名前は開発中のものです。:03/08/09 10:49 ID:yIGAkm4Q
Hikikomori Suisyou Program(ヒキコモリ推奨プログラム)の略です。
絵がかけないーーー
テキストかくのめんどいーーー
ore mo kakenai
×ボタンのあるツールWindowってどうやったら作れますか?
button "×",*lbl
( ´_¬`)プ──ン
HSPで2チャンを題材としたMTGのようなゲームを誰か作って。
>>129 #define GWL_EXSTYLE (-20)
#define WS_EX_TOOLWINDOW 0x00000080
// llmod版
#include "llmod.as"
mref bmscr, 96
prm = bmscr.13, GWL_EXSTYLE
setwndlong prm, 1
prm.2 = stat | WS_EX_TOOLWINDOW
setwndlong prm
width 200, 200// width を使わないと外観が更新されない
stop
// llmod無し版
mref bmscr, 96
ll_libload h_user, "user32"
prm = bmscr.13, GWL_EXSTYLE
ll_getproc h_proc, "GetWindowLongA", h_user
ll_callfunc prm, 2, h_proc
ll_ret result
prm.2 = result | WS_EX_TOOLWINDOW
ll_getproc h_proc, "SetWindowLongA", h_user
ll_callfunc prm, 3, h_proc
ll_libfree h_user
width 200, 200
stop
134 :
129:03/08/12 14:15 ID:GD57ORzB
ふと思い立ってRPGの戦闘作ってたんだが、
ついさっきWindowsが暴走・・・
ウィンドウを閉じようとしたら
いきなりコンパイル+実行が何十回かされて
あっという間に落ちた・・・・
スクリプトが飛んだ・・・鬱だ・・・
俺の時間を返せウワーン
___ 実 強 ふ き 135
,. -'''Y´:三三三::`ヽ、__ を. く ま び よ
/ミミミミミ三三三三彡彡ミヽ. つ ま. れ し
___/:三:彡''"\ミ三三彡'~`ヾ、彡`、 け っ て い 麦
{三三ヲ  ̄ ̄ ヾ彡\ る す 冬. じ
.!ミ彡〈 ヾ:彡:ヽ ぐ ふ に ゃ
{t彡彡〉 /彡彡} 麦 に ま
{彡彡'ノ二ニ_‐-, i-‐_.ニ二ヽ 彡彡ノ に の れ 青
/"'i:l >┬o┬、i iy┬o┬< |:i'"V な び て. い
| ハ|:| `┴‐┴' { }`┴‐┴'′ |:|ハ.l る て 芽
| {..|:l ` ̄ ̄┌|  ̄ |┐ ̄ ̄´ !|,,} | .ん を
ヽ_|| └`----'┘ ||_ノ じ だ
| ヽ ヽ--―‐--―‐--/ / | ゃ し
\ ! \二二二二/ ! / ,..-''"´ ̄`ヽ
| \ ―― /lヽ _」 ,/´ ヽ
__/\ ヽ_____,i____ノ /井ヽ く. `く ,.-''´ ヽ
┬┬/ /井\ /井井|\┬r-、 `r‐ヘ. 〈 ,. -''" ヽ
t井/ /井井\. /#井井ト、 \井ヽ. ヽ `''ヽ_〈 r┬ |
:井| |ヽ 井井\ /:#井井|#ヽ ヽ井ヽ ヽ、__ゝ-' |
井| | #ヽ井井#\ /井井井|井tヽ ヽ井|ヽ | l、 |
f#| |井#ヽ:井井#\. /#井井井|井井| |井|井`ノ ヽ |
:#| |井井ヽ井井井\ ,/井井井井|井井t| |井#t/ |
#| |井井#ヽ井井井#:/:井井井井|井井ff| |井f/ |
f| |井井井ヽ井井#/:#井井井井 / 井井井| |井| |
ラわーん
140 :
山崎 渉:03/08/15 08:03 ID:Ub8gJW6Z
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
>137
あの漫画「ううう」が「ラララ」に見えて少し萎えるよな
あるスレで逆コン出てたな
リンクきぼん
144 :
山崎 渉:03/08/17 04:40 ID:50F7qa3S
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
あぼーん
あぼーん
あぼーん
あぼーん
終了厨がいなくなったと思ったら今度は山崎と広告かよ
まぁ、お約束だな。
151 :
名前は開発中のものです。:03/08/18 11:00 ID:GfVlkKc0
152 :
ムードマン:03/08/18 12:03 ID:RaCkTEYp
Queek?
プログラムコンテストのページが更新されてるよ。
155 :
名前は開発中のものです。:03/08/19 14:01 ID:Ni9zDHkr
コンテストって14歳~17歳でHSP歴4年とかが結構いるけど、
あれって実年齢なんだろうか
50歳会社員の人もいたな。
>>155 おれは15(高1)で始めて今にいたるよ
あぼーん
あぼーん
あぼーん
161 :
名前は開発中のものです。:03/08/20 10:54 ID:FrXpRiN4
とりあえず、13歳でHSP歴4年は嘘っしょ
9歳からかよ(´ヘ`;)
いや小学生が売春する時代だからなぁ
163 :
名前は開発中のものです。:03/08/20 13:20 ID:FrXpRiN4
(´ヘ`;)
俺も小4のときN88-BASICでゲーム作ってたし
最近は小学生でもネットやるから、
ゲームを作るためにHSPを始める奴がいても珍しくないと思うぞ。
俺の消防の時はノートと鉛筆でゲームっぽいものを作って遊んでたなあ。
プログラミング自体初心者 なんですが、自分みたいな 奴でもある程度理解できる ようなHSP入門用の書籍 はございませんでしょうか…
>>167 hsp26\docs\biginer\INDEX.HTM
とりあえずマニュアルのチュートリアルとリファレンス読んでわからんかったら買えば
HSPでタスク処理出来ますか?
まだ締め切りまで一ヶ月あるのに応募数すごいね
こんなオープンなコンテストは珍しいけどとってもいいと思います。
あと一ヶ月か、間に合うかな…?
このスレでもギリギリまで作っている人いる?
173 :
名前は開発中のものです。:03/08/22 20:08 ID:+dQ9ymnE
>>167 説明書から読みはじめちゃダメだぜ。
まず何を作りたいかが重要。で、いきなり組み始める。
プログラム組みながら説明書を見ていけば苦にならないですや。
174 :
名前は開発中のものです。:03/08/22 20:28 ID:51Umy2mC
毎回期待を裏切らないこのシリーズ。
今回の出演は女子高生で何とパイパン女です。
何故マン毛がないだけでこんなにいやらしくなるのでしょう。
ツルマンのドアップ映像は売るほどあり、超大満足間違いなし。
アナルにも指を入れられますがまんざらではないようでよがり始めます。
多少画像は荒れ気味ですが内容からすると文句なしの作品です。
完全素人!!無料動画を即ゲット。
http://members.j-girlmovie.com/main.html
DirectXとモジュールに関する質問。 DirectX使った状態でモジュールに移動してDirectXの描画処理ってできるかな?
DirectX使うのとモジュールと何か関係あるのか?
177 :
175:03/08/23 21:11 ID:VvuXyV0I
>>176 文字とか数字を画像に変えるて表示するようにしたんだけどさ、
いちいち変数にXY座標とかを入れてサブルーチンに行くのは格好悪いから
モジュール用意して一発で座標と文字を送るようにしたいだけ。
てゆーか今、モジュールにしてもいちいち値入れなきゃじゃんって思った。
意味ねー。
178 :
175:03/08/23 21:13 ID:VvuXyV0I
「変えるて」になってるし。_| ̄|○
できるけど
素敵なブツですね
>>180 面白かったです。もうすこし難易度を下げてもいいと思います。
3Dをはじめようかと思うんだけど
HGIMG ZGP easy3D どれが楽かな?
標準命令。
関数のプラグインで使ったことのあるZGPにしようかと思ったけど
サポートがねえからEASY3Dを試してみるよ
EASY3Dで*.xか*.dxfが読めればなあ
ところで速度的にはどれが一番なんだろ
>>180 悪意があるのかどうかはわかりませんが、とりあえずwinMEではウィルス的な動作をします。
ちょとビクーリしました。まあなんとか駆除したけどね。
193 :
191:03/08/25 12:32 ID:6Jc5Ki5I
一応動作確認。
起動すると画面は出てこないがスタートボタンが点滅します。またctrl+alt+delができなくなり
(キーの配置とマウスのボタンがかわるのかも?)
これにより、再起動等の処理が出来なくなりました。
そして、スタートアップに登録されてスタートアップからはずさなかぎり正常な動作が出来なくなります。
また、はずす方法としては再起動してスタートしないうちに強制終了させmsconfigでスタートアップから
外すと直ります。もしくは何とかしてファイルを削除すれば元に戻るようです。
以上
194 :
名前は開発中のものです。:03/08/25 13:54 ID:8Hi6k7a9
195 :
名前は開発中のものです。:03/08/25 14:43 ID:KT0N7M1H
>>180 readme読んでなかったから起動したとき焦った。
でもさすがにタスクマネージャから消せるっぽ。まあお子様ランチなら気付かないと思うが。
駆除自体がゲームでした。ゲームの難易度は絶妙!
スタートアップに登録するのがレジストリやwindowsのシステムフォルダでも俺はクリアできたぜ。
駆除方法?秘密っぽ!
作者が意図しなかった使い道かも。
新しいゲームジャンルの誕生っぽ。
これHSPコンテストに出てましたよ
HSPコンテストのページが更新されてる。
201 :
名前は開発中のものです。:03/09/02 08:03 ID:5BLholRw
WAVEとCDの同時再生がうまくいかねー。 やはり64K以下じゃないと駄目なのか?
>>201 MCIでやってるの?
もしMCIでだめならDirectSoundとか試してみたらどう?
203 :
名前は開発中のものです。:03/09/02 23:50 ID:5BLholRw
ありがとーございます。早速試してみます♪
204 :
名前は開発中のものです。:03/09/03 01:49 ID:q2hKq3ka
・完全リメイク 『 天外魔境II MANJI MARU 』 PS2・GC両方で出ます!
PS2版 発売日 10月 2日 4,980円(税別)
【予約特典】天外魔境IIIメイキングDVD
【コンビニ限定特典】天外魔境Ⅱ&Ⅲ プレミアムサウンドトラック
【セブン限定特典】天外ステッカー
ユニークな仕掛けと破天荒なイベント、超個性的なキャラクターが揃った大作RPG。
岸田今日子を始めとした声優陣も圧巻!遊びやすさ・バランス共に絶妙!
ゲームデザインはメタルマックス、リンダキューブの桝田省二。
音楽はあの「久石譲」!企画監修は「広井王子」!彼の名を世に轟かせた最高傑作のRPG!!
マップは全て3D化し、イベントシーンも全てムービー化。アニメもすべて書き下ろし。
音声もデジタル録音で再録。登場キャラ3000体、400時間分イベントを80時間に凝縮。
プロモムービー↓
http://www.jp.playstation.com/psworld/hss/ram/tengaimakyo2.ram
コンテストに応募してきますた。
206 :
名前は開発中のものです。:03/09/05 19:17 ID:TNzPlEcg
207 :
名前は開発中のものです。:03/09/05 21:30 ID:eK6S/awh
もう何がなんだか
212 :
名前は開発中のものです。:03/09/10 15:47 ID:7MIi8ikq
HSPって変な所で不自由だからイヤだよなー。
画像ファイルを暗号化出来なかったりさ。これ致命的過ぎ。
フォルダ上から見えない様にするにはexeと組み込むしかないし。
こんな致命的なのが何で改善されないんだろ。
>>212 こっちだと普通に画像を暗号化してpackfileに入れられるが…?
で、もちろん、ちゃんとロードして表示できるが。
そして誰もいなくなった…
packfile編集の時ファイル名が長いと一覧に表示されんな
やれやれ。
void HspMidi(){
int n;
for(n=1; n<100; n++)
printf("現在手に入るMIDIプラグインの中で、一番素晴らしいのは何?\n");
}
なぜWAVでなくMIDIを使うのだ
いやいいけど・・・
でっかいから。
MIDIなんて環境によって音ちがうし
参考程度にしか鳴らんやん
まあねぇ。
俺は一応GMに準拠したデータ作ってんだけど、
OS付属の、しょぼいソフトシンセで鳴らしたらクソ
だった。
でもそれでいいの。
重いよりはいいの。
>>218 まあねぇ。
俺は一応GMに準拠したデータ作ってんだけど、
OS付属の、しょぼいソフトシンセで鳴らしたらクソ
だった。
でもそれでいいの。
重いよりはいいの。
今。2ch死ぬほど重かったんだけど…。
学校行く時間だ。逝ってきます。
俺は容量はぜんぜん気にしてないな(w
さて、コンテストが更新されたわけだが…
AMmidiって、もう絶対手に入らんのかね?
Null文字を消去したい場合、どうやったらいいの?
RTSって何?
リアル・タイム・シュミレーションとかストラテジーとかそんなん。
なる。
過負荷で垢消されないように軽くしないと
AMmidiって、もう絶対手に入らんのかね?
AMmidiって一番後に出たバージョンっていくつ?
zgpdmあるから(゚⊿゚)イラネ
AMmidiって何のプラグイン?
くだらなすぎて笑っちまったよ。
>>226 おおっ!
面白そう。
勝敗がどのようにして決まるのかがよくわからない。
ほとんど運のような感じかな
まだクリアしてはないが
あと、キャラ画像はどうやって用意したんですかー
教えてプリーズ
>>237 勝敗はリーダー倒したところ決まるよ。
俺は絵で食べてるもんで絵はSoft|imageでプリレンダ。
リアルタイムの将棋とかチェスとかめざして作ったんだけどまだまだだね。
あと、隠しステージもあるよ。後半だけど
if a="・" : dialog "",0
stop
;aは"・"ではないのに何故?
数値型と文字型を比較しておかしくなってるんじゃない
バグなのかな
たぶん、aが0で数値型の時に誤作動するみたい。
事前にaを文字列に定義(a=""|sdim a,XX,XX)としておけば問題なし。
if ""+a="・" : dialog "",0
stop
ってゆうか、実際こういう条件が必要ってわけじゃないんだろ?
AMmidiって、もう絶対手に入らんのかね?
FMmidiなら手に入ります
FMmidiって何でつか?
たんぱmidiってありませんか?
作者にメールしろっての
くだらなすぎて笑っちまったよ。
void AMmidi(){
int n;
for(n=0;n<10;n++){
printf("AMmidiってもう手に入らんのかねぇ?\n");
}
}
画像ファイルのXYサイズってどうやったら取得できますか?
>255
picload "filename":
でwinx,winyを調べるってのはどーよ?
void AMmidi(int toop){
int n;
for(n=0;n<roop;n++){
printf("AMmidiのマニュアルってもう手に入らんのかねぇ?\n");
}
}
引数間違った。
俺もまだまだだな_| ̄|○
FILE *fp;
long
width, height;
if((fp = fopen("name.bmp", "rb")) != NULL){
fseek(fp, 18, SEEK_SET);
fread(&width ,sizeof(long), 1, fp);
fseek(fp, 22, SEEK_SET);
fread(&height ,sizeof(long), 1, fp);
fclose(fp);
}
>>260 ここはHSPスレだってば…。
dialog "bmp",16
if stat=0 : end
bload refstr, x, 4, 18
bload refstr, y, 4, 22
mes refstr + "\n(" + x + "," + y + ")"
stop
>261
それってbmpしか調べられないんでないかい?
JPEGとかMAGも同じところにサイズ情報あんの?
全部の画像形式に対応するには画面に表示してやる方法しかない
>>261 > ここはHSPスレだってば…。
Cでもいーじゃない。
HSPプラグインDLL作成用として割り切れば。
2ちゃんでHSPについてまともに語れるのはここだけだな。
人少ないけど…。
質問です
DirectX9-dmutil.cppを使ってMIDIを再生するプラグインを作ってるのですが
CMusicManager::Initialize()のところで応答なしになります
(InitAudio()でハングってる??)
普通のWinアプリは同じやり方で動くのでHSPがらみの問題だと思うんですが
なんだかよくわかりません
>>262 各画像形式には書式としてヘッダがあって、仕様書を読めばどのような情報がどの場所にあるか書いてありまする。
基本的にヘッダは固定バイト。なので、ゲームとかでは同画数の画像が多数ある場合、ヘッダを削除して表示時にプログラム側でヘッダをくっつけるという手法もありました。こうすれば特に暗号化しなくても一般人には見られないわけで。
>>267 MAG・JPEGのサイズ情報の位置は不定なので、
一旦先頭の数バイトを読み込んで、ヘッダーを解析する必要があります。
漏れも興味あったので、少し作ってみますた。
インターレースJPEGに対応してませんけど。
#define SEARCH_SIZE1024
dialog "bmp;*.jpg;*.mag",16
if stat = 0 : end
sdim tmp, SEARCH_SIZE+1
bload refstr, tmp, SEARCH_SIZE
mes refstr
x = 0 : y = 0
; ↓つづく
270 :
269:03/09/22 18:32 ID:iOpYwQzw
; BMP
strmid s, tmp, 0, 2
if s = "BM" {
bload refstr, x, 4, 18
bload refstr, y, 4, 22
}
; MAG
strmid s, tmp, 0, 8
if s = "MAKI02 " {
idx = -1
repeat SEARCH_SIZE
peek ch, tmp, cnt
if ch = $1A : idx = cnt : break
loop
if idx = -1 {
dialog "error", 1
} else {
bload refstr, x, 2, idx + 9 : x++
bload refstr, y, 2, idx + 11 : y++
}
}
; ↓まだつづく
271 :
269:03/09/22 18:33 ID:iOpYwQzw
; JPEG
strmid s, tmp, 6, 4
if s = "JFIF" {
idx = -1
repeat SEARCH_SIZE
peek ch.0, tmp, cnt
if (ch.1 = $FF)&(ch.0 = $C0) : idx = cnt : break
ch.1 = ch.0
loop
if idx = -1 {
dialog "error", 1
} else {
bload refstr, x, 2, idx + 4 : x = x
>>8 + (x&$FF<<8)
bload refstr, y, 2, idx + 6 : y = y
>>8 + (y&$FF<<8)
}
}
mes "Size : " + x + "," + y
stop
こんな感じで。ヽ(´ー`)ノ
動作は保証しませんが、流用はOKです。
すげーな
よくやる」
273 :
269:03/09/22 22:00 ID:iOpYwQzw
あ・・・半角スペース2個以上続くと省略されちゃうんだっけ。
ここ修正しておきまつ。
本当は半角スペース2個含めて正式な識別子らしいけどまあいいや。
; MAG
strmid s, tmp, 0, 6
if s = "MAKI02" {
ちなみにdsutil.cppでWAVを鳴らすのも作ったのですが、そっちはうまくいってるので
基本的な間違いはしてないと思うんだけどなあ
>>268 すんません。マジでわかりません
有名人ですか?
>>274 プログラム板のHSPネタスレの中の人です。
O2で単純な格闘ゲーム作ったんだが2~3秒くらいタイムラグが発生する。
ローカル上だから?それとも仕様か?
まあリアルタイムなものは無理だと思うが。
今やっとコンテスト応募したよ・・。ギリギリな上に中途半端な物(w
あ~~~~~シンドい。ま、参加する事に意義があるっつーか。何つーか。
279 :
277:03/09/28 21:39 ID:UBqaetNS
>>278 あまりにもヘボいので、もし同じジャンルの人いなかったらバレるので伏せとく。
>>276 ローカルだとラグはほとんど発生しない。
O2は使ったこと無いので仕様かもしれないが、その前にどう組んだのかも環境もわからないのでなんとも言えない。
同一PC上? LAN? ルーター有り?
*gmain
;毎フレームのサブルーチン(ゲーム中30msごとに呼ばれます)
;
if myid=0 {
stick key,15
switch key
case 1 :x-=8 :swbreak
case 2 :y-=8 :swbreak
case 4 :x+=8 :swbreak
case 8 :y+=8 :swbreak
swend
data=(y<<16)+x
o2send data,3,1
;seDataPut data,1
color :boxf 16,16,640-16,280
color 255,255,255 :pos x,y :mes "■"
} else {
o2recv dat
;seDataGet dat
x=dat&$ffff :y=dat
>>16 color :boxf 16,16,640-16,280
color 255,255,255 :pos x,y :mes "■"
}
return
282 :
281:03/09/29 06:55 ID:7d2TJ7lG
>>280 ID0がカーソルを動かせば、ID1の■もそれに合わせて動くもの。
(サンプルのClick.asなどの*gmainにコピペして使用)
これだと0.5秒くらいなんだけど
se系の命令使うとタイムラグが酷い。
>>282 キー操作(座標の変更)が無いときはデータを送信しないというふうに変更してくだしぃ。
たぶん受信バッファが満タンになっている分、ズレているのでせう。
気になるのがあと一つあるけど、急いでいるのでまた後で。
284 :
281:03/09/29 19:35 ID:7d2TJ7lG
>>283 座標変更があったとき以外に送受信しないようにしたらほとんどズレなくなったよ。
どうも。
お互いが送受信しあうから無理っしょ
286 :
名前は開発中のものです。:03/10/02 22:44 ID:P5/bk9rx
人いないな…あげとくか。
PATHの参照ボタン[…]←こういうの
どうやったら作れるの?
>>287 こういう事?
objmode 1
sdim path, 4096
pos 10, 10 : input path, 200, 20
objsize 20, 18
pos 210, 11 : button "...", *ref
stop
*ref
dialog "*", 16
if stat != 0 {
path = refstr
objprm 0, path
}
stop
それとも、input の中にボタンが埋め込まれてるやつ?
>>288 漏れがやりたいのはツリー状にディレクトリが表示されるやつなんだが
>>289 SHGetFolderPath
あとは自分で調べれ
>>287,289
質問をする際の情報の小出しは回答者の混乱を招くだけ。
>>287 だけ見て、ディレクトリ参照ダイアログについて訊いてるだなんて誰も思わないよ。
それにしても、このスレはどんどん下がってくな……。
>>それにしても、このスレはどんどん下がってくな……。
下がるって何が?
294 :
289:03/10/03 21:22 ID:bFb2eJ2K
出来た。ありがとう
>>293 質問スレなんだからageろってことかな
それにしちゃ自分もsageてるしな
296 :
292:03/10/03 22:58 ID:r2SOfyR0
皆sageてるな、っていう意味で言ったんだが……。
別に下がる事自体が悪いとは思わないけど、
2chで唯一の真面目なHSPスレだから、
有効活用しない手は無いと思うんだけどね。
まあ、ageたせいで、またあの終了厨みたいな荒らしが来ないとも限らないし、
(漏れもそれがうざいのでsageてるし)
このままでもええかな、と思います。また~り。
HGIMGのバージョンアップまだかなあ…
コンテスト最終更新が済んだ模様。
エントリー作品のMajestic Sagaってゲーム君並にコメントが書かれているな。
しかも大半がA。
俺の環境じゃ重くて動かなかったんだけど、
プレイ出来た人としてはどう?
>>300 こっちのAは嫌がらせでなくマジ評価。オープニングに歌が流れたりしてめちゃ凝ってる。まあ優勝は間違いない。
個人的には絵が好かん。超醤油顔キャラには抵抗あり。最後までプレーしておらずストーリーは分からん。
いくらよく出来てても素人製作のRPGに時間かけるなら金出して買った物にかけたいんで。時間貴重だしね。
プログラミングテクニックや構成に関するコメントじゃなくて
音楽がいいだの、絵が綺麗だのゲームの内容に関するコメントばかりってどうよ?
ツール類には殆どコメントが付いてないのな
そういえば作る側じゃなくて使う側としてのコメントが多いな。
コメントを書いている奴はもちろんHSPを使っているんだよな?
まぁ、どうしてもゲームに目が行くわな。
今回更新分で個人的注目株は573と571。
どっちも時間の割りにはプログラム的にもエンターテイメント的にも比較的面白いことをやってる。
RPGやADVみたいな既存の枠とルールにのっとったものよりもずっと魅力的に見える。
まったく同じ理由で
>>300の奴にはあんまし面白みを感じない。
たしかに物凄く良くできてるし素晴らしい作品ではあると思うけどプレイしようとは思わないんだよね。
>>304 571はゲームとしてもっと遊べればよかたと思う
あるファイルがアクセス中か否かを判定することってできますかね?
>>304 573のやつは本当に1ヶ月だとしたら凄いな。バージョンアップに期待
>>308 正直なところを言ってしまうと、件の作品には見るべきところが無いんだ。
ごめんよ
>>308 だってフツーのシューティングなんだもん
コメントが着かないのはそこだね
逆にコメントはEでも、着いているほうが存在感があるってこと
マサくんはすごいなあ・・・なーんてね
にしてもHSP2.6ってさ~、動作安定してんのかね。自分のPCでは問題なく動いていたのが
人のPCでは内部エラーが起きたりする・・。俺のスクリプトの組み方が悪いのか・・。
>311
Packfileに長いファイルネームのファイル入れてるって
オチじゃないよな?
313 :
311:03/10/11 01:07 ID:5PCGwaWT
>>311 DirectX関係じゃないか?
DirectXのバージョンが違うセカンドマシンでテストしたら
ワトソン博士がブチ切れたことがあるけど。
ところでコンテストの参加賞ってなんだろ。
HSPの本とか?
おにたまのサインとか
どっちにしても参加賞程度欲しさに住所氏名を明かす気にはなれない・・。
自分はお断りするつもり。
HSP板コンテスト裏大賞でも決めませぬか
Forsythia3Dってなんですか?
>>322 久々にmaiさんとこ覗いてみた…。
…うげぇぇ、「可変長リスト」「zlib 汎用データ圧縮」「Forsythia3D」…
やべえ、製作中のやつの仕様を変更したくなってきたっ。
本家にリンク載ってるから使ってみたRokDeBone2というモーション付けソフト。使うたびに外部に接続しようとする・・。
まさか・・・・。
シオリタン(;´Д`)ハァハァ
美少女ゲームでも作れよ
ブルマがたくさん出てくるやつ w
上から物言うだけならサルでも出来る。
コンテスト終わって完全に萎えた。
結局応募できなかったし。
来年のコンテストに向けてがんばるかな。
来年あるかわからんけど。
一時審査通過作品発表は土曜か。
50ぐらいに絞られるのかな?
どうでもいいがエントリー作品の作者で、
65歳って人がいたけどマジなのかな?
10歳の子もいたな。
またやって欲しいもんだが
332 :
:03/10/15 16:39 ID:XTDo7bgM
ショート部門の方がレベル高いな。
この板に保守は必要か?
いや、まったく。
半年以上書きこみの無いスレもあるし。
3D関係のプラグインって増えたな
HGIMG、ZGP、Easy3DにForsythia3Dか。
個人的にはZGPが一番分かりやすいんだが、速度は遅い?
>>335 それらプラグインがDirect3Dのラッパーなら、そんなに差はないと思う。
ただ、プラグインとDirect3Dとでの記述仕様が違いすぎると、変換の部分でちびっとロスがあるかも。
経験上言えるのは、DirectX8を入れて8に対応していないグラボでZGPを動かすと、紙芝居になるということか…。
337 :
名前は開発中のものです。:03/10/18 00:52 ID:6P8LEA9C
一時審査通過作品発表あげ
俺のも残ってた。
しかし審査の基準がわからん、
え?ってのも残ってるし。
338 :
名前は開発中のものです。:03/10/18 00:56 ID:aWbvYhBm
>>332 確かにそうだな。
昔のベーマガみたいでなんとなく懐かしい気分になるのは俺だけ?
>一時審査通過作品発表あげ
チクショー
かすりもしねえ
>>336 なるほど…。
ちょっと3Dで作ってみようと思ってるんだけど、個人的に使いやすいZGPに
しておくか…。
HGIMGとE3Dはモデルの頂点移動ができるのが魅力なんだが、座標指定して
ポリゴン生成で代用するかな。これ遅そうだが…。
一次審査落ちたが、アンケートシステムは良かった。
どうしよう、意見が聞きたかっただけの素人なのに通っちゃった((;゚Д゚)
HSPCL2.6b2を試しに使ってみたんですが、
Bad HSP object [@obj].
と表示されて処理が実行されないのですが、なぜでしょうか?
保守
コメントで「HSPでここまで」って書いてる人が多いけど、
HSPでどこまで出来るかを把握した上で書いているんだろうか。
たぶん、そんなに深く考えてないと思われ。
ところで、モーション付きXファイルって
どうやって出力するのかわかる?
Forsythiaに読ませてみたいんだけど・・
フリーでモーションつきのデータが出せるツールが
あるなら教えてほしいな・・と。コンバータでも良いけど
ぐぐってもモーションは非対応なものばかり。
DirectXのサンプルデータはForsythiaで再生できた。
3Dモデリングって、やっぱ皆フリーの使ってるのか?
前の会社でLightwave使ってたんだが自分じゃ買えん。
フリーor安いソフトでLWに近いものがあれば使ってみたいが…。
受賞作品発表は週末かな?
ところでこのスレって何気にゲ製作板で最もレスがついてるような気がする。
355 :
名前は開発中のものです。:03/10/22 17:40 ID:uMPddIPr
よしゃ、新ツール完成。
頼むからのっけてくれよ、テックウィン。
356 :
名前は開発中のものです。:03/10/22 19:59 ID:W9Z2eElE
めちゃせこいやあ
指定名のディレクトリが存在するか否かを判定するには、どうやったらよいでしょうか?
>>358 伝統の技。てかdirexistほしいね。
dummy = ""
dirlist dummy, "C:\\HSP", 5
if stat : mes "あるよ" : else : mes "ないぽ"
stop
360 :
358:03/10/23 19:07 ID:4DSO/DDb
361 :
358:03/10/23 19:46 ID:4DSO/DDb
こっちの方が良さげなんですが、何か問題があるでしょうか?
onerror *@f
chdir "C:\\WINDOWS\\デスクトップ\\hsp"
*@
if wparam=12 : mes "ないぽ" : else : mes "あるよ"
stop
362 :
:03/10/23 22:07 ID:Xc3vt25d
そっちのほうが良いならそれでやればよい
dir=windir
exist dir+\\nul"
if strsize<0 { mes "ないよ" } else mes "あるよ"
stop
これで十分。
コンテストの最優秀賞にどれが来るか考えてみたんだけど
422とかだったらなんかつまらないと思った。
うん。それだけ。ごめん。
422は作りかけなのが難点か。
そこらへん審査に影響するかな?
367 :
:03/10/25 20:58 ID:MlMNNfgF
HSP使ってればなんでもアリ、ってのはちと風呂敷広げ過ぎだと思いませんか
368 :
名前は開発中のものです。:03/10/25 23:37 ID:6asabCTT
>>365 激しく同意。
>>367 サイズを制限されたなかでテクを競うショート部門と、何でもありの一般部門、で
バランスはとれていると思うけどなあ。
案外、最優秀はショート部門から出るのでは?
>>368
最優秀賞は一般とショートに一作品づつだよ。
一般部門はゲームとそれ以外に分ければよかったのにな。
332はすげえと思った。
でもえらく見づらくしすぎた気もするし・・・
一般部門は審査基準がわからないんだよなあ。
ゲームがおもしれえってんなら577とか296とか94とか79とか・・・
あ、俺はね。
これらは微妙に評価少ない気もするし・・・
しっかしよー
いくら面白いゲームや役に立ちそうなツールがエントリーされても、
いま自分のパソに残っているのなんて1つもねえ。
322は確かに驚いた。でも1分後ゴミ箱行き。
皆さんのパソに現在残っている作品は何かありますかー?
361はまだ残っている。自作の迷路ソフトの開発が終わるまで残りそう。
373 :
370:03/10/26 12:52 ID:15t/9iUV
一次審査通らなかったけど何故か入ってる578。548とかも。
アクションゲームはちょっとやるとスカっとすることがあるんで
577とか94とか409も入ってました。
そういやさっき書いた296は何故か入ってないや。
EXEファイルのアイコン変えるソフトはコンテストのやつ使ってる
No.忘れた。
にせwinampとか
376 :
名前は開発中のものです。:03/10/26 23:42 ID:QJy1Oj+9
>>369 あ、各部門にそれぞれ最優秀があるのか。失礼しましたm(._.)m
>>373 自分も94、578は持ってる。
578は一次審査残っても良さそうなもんだと思ったけど。
ラスボスが異常に強くてまだ倒せてないから消せないのかもしれない(^^;
577は変にいい動きがいいね。
なんかすげえ硬派で損してる感じがする。
378 :
名前は開発中のものです。:03/10/27 21:38 ID:rblyWKCO
379 :
名前は開発中のものです。:03/10/27 22:34 ID:Jk3gWCzd
ム板のスレが削除されたな。隔離スレとして役立ってたのに。
あそこのヤツラがここに来ないといいんだが。
ゲームに使う音を全てDirectShowで鳴らしてるんですが、何か問題があるでしょうか?
音をDirectshowで鳴らすのはかなり問題だろうな。
でも鳴ってるなら、それでいいんだ・・・きっと。
383 :
382:03/10/29 12:29 ID:lEnNR3lz
悪い、変なこと書いた。
DirectDrawと勘違いしてた。
なんかもうだめだわ、俺。
>383
がむばれ
受賞作品発表は土曜の午後三時だそうだ。
選ばれるのはあの中から15作品くらいか?
386 :
名前は開発中のものです。:03/10/29 20:11 ID:39J7BeGO
>>385 最優秀、ショート部門は148か174だろうと勝手に予想。
一般は・・・正直ワカンネ。422だとおもしろみがないなあというのが正直なトコではあるが。
386=365 ?
>>387
なんで?
>>368 発表を見た人がある程度納得する作品だと思う。奇抜なものは選ばれない。
その観点からするとやっぱNo.422かなあー
おれNo.422最初しかやってないけど、やっぱこれかなーと思う。
YOSHIE・THE・HAYASAKA
No.422は確かに凄いけどマシンを選ぶんだよな。
今回のコンテストの趣旨を読むとNo.469とかNo.044あたりのレベルが受賞しそうな気がする。
そういった意味では俺の予想はNo.128かな。
コンパクみたいに市販レベルを選ぶコンテストでは無い気がするな。
ショートも同様にNo.190とかNo.262あたりがいい線だと思う。
一応予想しとくと、No.279このへんかなー。
今やっとHSPの入門編を終わらせました!
これからどんどんたくさん言語を学んでいって、色んなゲームを作っていきたいです。
RPGってだけでめんどくさそうだと思ってしまう…
10年前なら喜んでやったが、もう歳でなあ
じゃあ大穴の577で。
422はDirectX使ってれば大賞やってもいいと思うが
573を推したいな。この先の広がりが一番楽しそうだ。
なんにせよ、あと10時間くらいで決着がつくわけだ。
なまじっか一次審査に残ると、入賞しなかったときに可愛そうではあるな。
ちなみに573は面白いけども、どうもコンテストでの受賞を目標としたものじゃなくて
作者の人はもっと先を想定してるよね。受賞しなかったとしてもこの先に期待したい作品ではある。
一ゲームとしてね。
なんかノーベル平和賞みたいな選別のされ方だな
なんだろう、恐ろしく釈然としない気がする。
何も言うまい…。
次はテックウィンに応募すます。
>>399-401 一次審査通ったクチかい?
おにたまに裏切られてやがんの( ´,_ゝ`)プッ
oremodayo(;´Д`)ハァ
一次審査通らなかった傍観者だが
自分がイイと思ったNo.226やNo.107が受賞してなかったので少し救われた
あー何が不満?
俺は間に合わなかった者だが…(汗
今回のコンテストについて406にまとめてもらおう。
↓よろ。
まあまあ
ガキ向けってこった
つーか貰える景品。本がほとんどじゃねーか。スポンサー付いてる割にショぼいな・・。
うまい棒一年分というのはネタか?景品未定って何じゃい?3ヶ月も期間あって用意してなかったのかよ・・。
何かコンテストとして主催者側に重大な問題があった様な予感。
言いたくないがちょいヒドすぎねー?うまい棒なんてその場の思いつきとしか思えんぞ・・。
折角受賞したんだからもう少し考えた物やったらどうなんだろな。
本も「パソコン関係なら何でもいいや」感を感じる。
>>美味い某
ウケを狙ったんじゃないだろうか。
俺は欲しいぞ。
本より高いじゃねーか。
ハチプロも欲しかった・・・。
>>408、文句があるなら公式でいいなさいってこった。
それ以前に応募すんのは無料なんだから、図書券500円でも普通文句言えねーだろ。
>>409 だとしたらヒデーよな。多分、受賞した人は一本10円のうまい棒なんざいらねーし、しかも一年分。飽きるわ!
作った方はそれなりに苦労もしてんだからネタの提供物にされんのは勘弁だろ・・。
>>410 そうだな。もうやめるわ。何か考えちまったんで書いた。
ひろゆきなら大喜び
さすがに全部サラミ味だったらアレだけどよ?
>うまい某
普通にほしかった
416 :
名前は開発中のものです。:03/11/01 20:29 ID:exM5khto
参加賞はうまい棒1本
マインドウェアってまだ生きてたんか…
(知ってる人は知ってるだろうけど、旧M.N.MSoftware)
ほとんどの作者は賞品目当てなわけじゃないだろう
知名度か?
そういえば1ヶ月も経たないうちに雑誌掲載依頼が数通来たな。
前公開したソフトは3ヶ月ぐらいして来始めたのに。
受賞した作品でもコンテストに出なきゃ知ることなかっただろうし
マウスポインタの32514(砂時計)とかの値を取得するには
どうやったらよいですか?
ll_libload h,"user32"
ll_getproc p,"LoadCursorA",h
prm=0,32514
ll_callfunc prm,2,p
ll_ret r
423 :
421:03/11/03 00:28 ID:RKzWTrqU
>>422 値をダイレクトに取得する方法はないんでしょうか?
r=65557
425 :
421:03/11/03 17:59 ID:RKzWTrqU
無理っぽいので諦めます。どうもありがとうございました。
426 :
名前は開発中のものです。:03/11/03 18:53 ID:VV88WU5r
HSPを使うときに
画像の表示とかをコミックメーカーみたいな感じにできる
エディタはありませんか?
意味ワカラン
428 :
名前は開発中のものです。:03/11/03 19:36 ID:VV88WU5r
hspedをもっと簡単にしたもの。
画像とかを座標じゃなくて、眼観的にできるやつ
431 :
:03/11/03 20:39 ID:uVmX4Y7T
>>429はもちろんHSPで作られてるんだろうな?
>>429 でも金取られてはなあ・・。フリーの言語ツールで、しかも趣味的な物にしか使えない物を
金かけてまでもっと便利にしてもなあ。
しかも.NET Frameworkかい‥・
.NET Framework、動作がもっさりしすぎ‥‥
シェアなので以上
コンテスト参加賞はコースターらしい
旨い某じゃなかった
コースターなんかいらないよ…。
>賞状および副賞として審査員おにたま愛用のMIDI音源モジュールRoland SC-88Pro
これはいらなくなったものを処分するため!?
>>438 最新機種じゃないし、以前おにたま氏がSC-88用のMIDI
データを公開してるから…まあそういう事なんだろね。
ただ、現役のDTM音源として充分使えるし、要らなければ
ヤフオクにでも出せばそれなりのお金になる。
あの副賞の中では結構そそられるな。
>>参加賞
500個近く用意しないといけないんだから、そのくらいがせいぜいかと。
でも応募者層を考えるとまだCD-R1枚のほうが実用性はあるか・・・
焼きに失敗してコースターってか
442 :
名前は開発中のものです。:03/11/05 19:04 ID:f8VhTER3
今ダチに「なんかつくってみろ」みたいな事を言われドラクエっぽい戦闘を製作中なんですが
現在のHP / 初期のHP 例)412/999みたいなもの
の表示の仕方がわかりません教えてください(ノД`)
>>442 暇なんでネタにマジレス
現在のHP=412
初期のHP=999
mes 現在のHP+" / "+初期のHP
stop
444 :
名前は開発中のものです。:03/11/05 22:29 ID:BekrQ/ba
現在のHP=412
初期のHP=999
mes ""+現在のHP+" / "+初期のHP
stop
>>442 [準備]
数字のグラフィックフォント(0~9、/)を作る。
[プログラム中の処理]
HPを格納する変数を桁毎に分解して表示するフォントを決める。
座標を指定して表示。
mes "現在のHP / 初期のHP 例)412/999"
448 :
名前は開発中のものです。:03/11/08 16:31 ID:29q6xJme
ボタンの上にカーソルがのったとき、他の部分にそのボタンの説明を表示させるのは可能?
>>448 可能
ヒントはWM_MOUSEHOVER
450 :
448:03/11/08 17:28 ID:29q6xJme
>>449 トン
探してみたらvisualやc言語での方法なら載ってるんだけどHSPでのやり方がのってないっす(´・ω・`)ショボーン
解説お願いします
>>450 そこいらの引っかかった方法を参考にプラグインを組む。
loadlibでできない事はないと思うが面倒な上に遅くなるから正直オススメできない。
もっともゲーム用途なら自前で画像ベースのボタン作った方が楽で融通もきくし、
通常のWindowsのUI持つアプリならVBなりDelphiなりBCB使った方が遙かに楽。
>>448 マウスカーソルの位置を取得して、特定範囲内(ボタンの上)の時に説明文表示。
範囲外に出たら表示を消すだけでいいのではないかい?
コースター欲しさに住所と氏名晒しちゃう奴って、どれくらいいるんだろうね。
もちろん俺はノーだけど。
あと、コメントが消えてるね。これだけが救い。Aがいっぱいついた人は
名残惜しいかもしれないけど。
まさかコースターの送料は自己負担?
>>453 オレ晒しちゃったよ…(´・ω・`)
ボールペンも追加賞も貰えないだろうけどね。
>>455 俺もだ。
友達にコースター欲しいとせがまれたばっかりに・・・。
マウスパッドやフロッピーで十分
なんか、忘れたころにメール来た。
入賞多すぎ
同感
HSPでプロセスメモリ編集ってできるでしょうか?
でも、追加入賞作品のほうがいい物があr(ry
なんでもそんなもんだけどな
HGIMGのバージョンうpまだあ?
誰かBMP画像の最初の1ドットの色を取得する方法を教えてください。
できればプラグインを使わずに。
>>465 画像を普通に表示してから、
pget 0,0
でOKのはず。
そうすればシステム変数rval、gval、bvalにそれぞれ赤、緑、青の値が入ります
buffer 2
picload "gazou.bmp"
gsel 0,1
gmode 0
gcopy 2,0,0,1,1
pget 0,0
stop
てかリファレンス見れば一発で分かるのだが。
ヲチツケ
471 :
465:03/11/17 22:01 ID:iwYKmy/I
>>466 >>467 レスありがとう。改良しまくったら結局つかわなかったけど。
見かけ黒のbmpなのに読み込むと白になってるのがあってさ
それの対処として聞いてみたんだけどね・・。
下地を黒にしたらなぜか解決した。
>>471 それはbufferに読み込んでから
gmode 2でコピーしたとか言うオチではないのか?
>>472 いや、そうでもないんだわ。
試しに
picload "mona.bmp",0
stop
みたいに普通に読み込むとペイントとかだと
黒になってるのが白になってるんだよ。まさか勝手に透過してる?
まあ一応自己解決したし元々グラフィック系には疎いから
深く考えないようにしたい。
追加入賞作品のコメントがあがってるね。
なんか、みんな真面目に答えてるな、誰か面白おかしいコメントを書ける気の効いた人は居ないのか?
そういうのって、クリエーター的には重要なセンスだと思うんだけど
>>475 例として
お前の作品が入賞したとして、コメントを書くとどーなるん年?
ちなみに俺は
「鬼弾マンセー、ハヨウ次のエロゲーだせや、オラッ!」
>>745 追加入選作品の一番下にある奴のコメントなんかは、そういう意味で行けばそこそこバランス感覚がある感じ
なんつーか文章書きなれてる感じがある。
479 :
名前は開発中のものです。:03/11/25 02:14 ID:LGlG02gf
今rpgのメニュー作ってるんですが
アイテムの名前が画面いっぱいになったら、下の方にスクロールできるようにしたいのですが
どんなソースを使えばいいんですか?
if アイテムの名前が画面いっぱいになった :スクロール許可
482 :
名前は開発中のものです。:03/11/29 23:48 ID:skrJQtHg
今更ながら、コンテストのヨーヨー格闘技のやつにハマってる
敵倒した後に処理落ちするの俺だけ?
483 :
名前は開発中のものです。:03/11/30 04:06 ID:8KqFf2u5
waveファイルを無限に鳴らすにはどうすればいい?
なんか一回演奏し終わったらそのまんまなんだが
ヘルプを読めと小一時間(略
485 :
名前は開発中のものです。:03/11/30 10:06 ID:8KqFf2u5
mciにそういう命令あんの?
sndはかってにやってくれるみたいだけど
486 :
名前は開発中のものです。:03/11/30 11:01 ID:a1DVh5/C
HSPでRPG作ろうと思うんだけど作り方とか書いてあるページある?
487 :
名前は開発中のものです。:03/11/30 11:26 ID:a1DVh5/C
ごめん。やっぱいきなりは無理だった。
画像とか音楽ファイルを読み込もうとすると、外部エラーがおきましたって表示
されて読み込めないんですけど、なぜでしょうか?
489 :
名前は開発中のものです。:03/11/30 17:33 ID:a1DVh5/C
>>488 今日一日がんばってブロック崩しが作れるようになりました!
でも音がないのがさびしいです。
サンプルプログラムをDLしてそのままそれを起動しても音はなりません。
490 :
489:03/11/30 18:17 ID:a1DVh5/C
ついでに画像も表示されません。
492 :
489:03/11/30 19:32 ID:a1DVh5/C
フォルダにはいれました
音もだめ、画像もだめって・・・
パソコンがなんかヤヴァイことになってるんじゃないか?
494 :
名前は開発中のものです。:03/11/30 22:05 ID:Uag4/B/C
ボタンってcls以外に消すことはできないんですか?
boxfじゃボタンのほうが優先されちゃうし
>>494 clrobj
マニュアルに書いてある。
496 :
名前は開発中のものです。:03/11/30 23:08 ID:Uag4/B/C
㌧
マニュちゃんと読まないとやっぱまずいのか^^;
少なくとも質問する前に読みやがれ
HSPでゲームを製作する事を
初心者に優しく教えてくれてるサイトって
ありますか?
「HSPとは?」から始まってる様な
優しいサイト。
なんで初心者はプログラミング始めるといきなり物凄い身の程知らずな目標立てるかね。
しかもジャンルすら決めずに「ゲーム」なんて曖昧なものを。
ある程度慣れてからの目標としてはいいだろうが最初から作ろうとすると絶対に挫折する。
もう少し目標下げて少しづつ慣れていくように汁。
ああ、後HSP入門用のテキストなんてろくなモノ無いから
色んなサンプル見たり弄繰り回したりして独学でガンガレ。
マニュアル見ながらでもいい。まずは関数を覚えろ。そして慣れろ。
まずはそれからだ。
サイト探すことすらできんのか。
もしくはサイト管理人の自演か?
最近、自分が公開してるHSP製のフリーゲームにメールもらったんだが
「参考にしたいからスクリプトくれ」みたいな事が書いてある・・・。
参考にしたいとか言われると嬉しいし、HSPのソースなんてちょっと熟練の奴ならすぐ抜き出されてしまうし
「あげてもいいか」とも思うが、やはりちょい抵抗がある・・。どうしよう。
あまりにも失礼だなそれは。
その後も何度もソースについての質問メールが来そうだ。
そしてデザインを変えただけのゲームが公開されそうな悪寒
「おねがいします。 見せてもらえませんか?」
みたいな事が書いてあるなら、見せてあげてもいいんでないかい。
マジで「くれ」みたいな内容なら、常識なさそうだし放っておくのが吉かと。
おにたまに「参考にしたいからHSPのスクリプト見せてくれ」
と言ってるようなもんだな。
規模にもよるが他人のソース見てすぐに理解できるわけないし
解読してる暇があったらむしろそれに近づく努力をしろ。
>>501 実際、ソースだけだとテストできないので絵もください、とか言われたり
しかねないので、あげるにしても最初に断りを入れた方が良いな。
でも、君が抵抗があるっていうなら止めた方が良いと思うが。
最初からオープンソースにしる
HSPユーザーはアメリカン。超開放的で隠し事をしない。
HSP製フリーウェアはもれなくソーススクリプト添付済み。
510 :
名前は開発中のものです。:03/12/03 00:11 ID:PELm+vAz
inputの中を最初からないようにしたいのですが
x=""
みたいなことをすれば見た目はなんとかなるんですが
そこに数字を入れて計算をすると狂ってしまいます
どうしたらいいですか?
そういやHSPの次バージョンってどの位進んでるのかね?
多人数でやってるから、おにたま氏一人よりは能率的に進んでると思うが。
HSP製フリーウェアのゲームで、他言語製のモノと比べても遜色ないものって
どんなのがあるかなあ?
コンテストのRPGはすごいんでないの?
やっとらんけど
他言語製でもしょぼいのがおおいから
たくさんあるぞ
>>512 実はあまり進んではいない、と言ってみるテスト
517 :
:03/12/04 11:28 ID:HruJvnpr
テストはいやああああああああああああああああああああ!!!!!!!!
s.exe
あ、うんこ
多人数でやっても能率的に進む保証はない。
「船頭多くして船山に上る」ってやつだな。
飛翔鮎ってHSPの割には結構良くできていると思ふ。
2Dゲーは言語何使っても速度的には問題ないだろうし、
HSPだから、というのは関係ないんじゃ。
まあすごいゲーム作れるような能力がある人はCとかやってることが多いってことかなあ
プロでやる気がなくて趣味で2Dシューティングとか作るにはHSPで十分だけどね
525 :
名前は開発中のものです。:03/12/06 21:43 ID:9qfIdaJs
うーん
とりあえず狭く浅く覚えたんだけど
初心者が作れるようなゲムない?すること無ー
プログラムで食っていく気はないな。
さらに野球拳にするとショボイゲームでもフリーならやってくれる。
ごっついエロ絵が描ける事が前提条件だが。
>>525 1. じゃんけん (難易度:★)
i. 画面にボタンなどを出して手を選ばせる(button, ラベル)
ii. .敵にランダムに手をださせる(rnd, randomize)
iii. 条件分岐で勝敗判定を行う(if)
2. HIT&BLOW(3桁) (難易度:★★)
i. 3桁の数字をランダムで選ぶ その際同じ数字を使わないようにする(repeat/ラベル, アルゴリズム構想)
ii. .プレイヤーに3桁の数字を入力させる(input, str, strlen, 数値型変数と文字型変数の区別)
iii. HITとBLOWを数える(アルゴリズム構想, 多重repeat~loop)
iv..今までの数字とHIT/BLOW数を記録する(配列変数)
じゃんけん(と等価なゲーム)
randomize
rnd a,3
dialog ""+a+" (W=0, L=1, D=2)"
初心者がまず作るといえばピンポン系(ブロック崩し)だろ
532 :
525:03/12/07 02:21 ID:8TBYXSX0
提示された課題を消化していくのは良い学習法だと思った。
>>532 ・sndloadで絶対パス指定しない(相対パス指定)
・randomizeは一回だけでよい
・fontで他のパソコンに無いようなフォントを使うのはなるべく避ける
・勝敗判定は間違っていないが、配列変数を使って簡潔な書き方を考えてみる
例えば以下の配列を使う。
sdim 手, 7, 3
手 = "グー", "チョキ", "パー"
sdim ムスカの言葉, 20, 3
ムスカの言葉 = "貴様の勝ちだ...", "貴様の負けだ...", "引き分けだ..."
ちなみに、button はラベル先にジャンプした際に stat に押されたボタンのIDが入る。
これを利用する事で、グー、チョキ、パーボタン描画部をこう書き換えられる。
repeat 3
pos 180, cnt*120+360
button 手.cnt, *手を決定
loop
そして、*gu *cyo *pa を *手を決定 1つだけに置き換えられる。
*手を決定
自分の手 = stat ; (グー=0, チョキ=1, パー=2)
また、*hantei 下 clrobj 以下の勝敗判定部分をこう書き換えられる。
if (自分の手 < you)|( (自分の手 == 2)&(you == 0) ) : 結果 = 0 ;勝ち
if (you < 自分の手)|( (自分の手 == 0)&(you == 2) ) : 結果 = 1 ;負け
if 自分の手 == you : 結果 = 2 ;あいこ
pos 300,120 : mes 手.you : pos 300,330 : mes 手.自分の手 : redraw 1
wait 80 : pos 180,200
color (結果==0)*200, (結果==2)*200, (結果==1)*200
font "DF行書体",48,0 : text 190 : mes ムスカの言葉.結果
pos 270,160 : objsize 100,24 : button "もう一回遊ぶ",*top
stop
536 :
525:03/12/08 01:31 ID:QLvCIrgP
[HIT&BROW]って懐かしいな。高校んとき授業中にやってたわ。
ルールよく覚えてないが。
>>536 全く違いますYO...
HIT&BLOW とは子となるプレイヤーが、親となるプレイヤーが決めた数字を当てるゲームです。
まず、子はその数字が何であるか予想して数字を入力します。
親は、子が出した数字とあらかじめ照らし合わせ、
・数字と位置が同じなら HIT
・数字が同じだけど位置が違うなら BLOW
として、子に HIT と BLOW の数をそれぞれ教えます。
子はそれを元に予想を続けます。
子が決められた回数内で数字を当てられたら子の勝ち、
当てられなかったら親の勝ち、となります。
例えば
親の数字:123
子の数字:413
の場合、HIT が 1、BLOW が 1 となります。
親:123
子:341
はHITが 0、BLOWが 2 となります。
訂正
×親は、子が出した数字とあらかじめ照らし合わせ、
○親は、子が出した数字とあらかじめ決めた数字とを照らし合わせ、
540 :
525:03/12/08 02:22 ID:QLvCIrgP
>>538氏
うぃ わかりやしたー
ソウイウゲームヤッタンカー(´・ω・`)ショボンヌ
明日がんばってみまつ(ノД`)
動作サンプル
randomize:*P:cls:A="":B="":sdim C,1024:C="log":D=0:width 320,240:E="0123456789"
H=10-cnt:repeat 3:rnd F,H:strmid G,E,F,1:memcpy E,E,H-F-1,F,F+1:A+=G:loop:*Q
palcolor 255:boxf:pos 5,5:input B,40,24:pos 50,6:objsize 40,22:button "OK",*R
color:pos 150,5:mes C:stop:*R:strlen I,B:if I!3{dialog"桁違":stop}J=0:repeat 3
O=cnt:strmid K,B,O,1:repeat 3:strmid L,B,cnt,1:if O=cnt{continue}if K=L{J+
break}loop:loop:if J{dialog"重複":stop}clrobj:M=0:N=0:repeat 3:strmid K,B,cnt,1
O=cnt:repeat 3:strmid L,A,cnt,1:if K=L{if O=cnt{M+}else{N+}}loop:loop:pos 10,60
mes"数字:"+B+"\nHIT :"+M+"\nBLOW:"+N:D++:C=C+"\n"+D+":"+B+" HIT"+M+" BLOW"+N
wait 150:if(D<10)&(M!3){goto*Q}if M=3{mes"勝"}else{mes"負"}button"New",*P:stop
わざとわかりづらいようにしてあるので、
無理して、これの内容を理解しようとしないほうがよいです
ene_h と my_h は
sdim jan_h, 7, 3
jan_h = "グー", "チョキ", "パー"
みたいな配列を作っておけば、不必要になります。
544 :
525:03/12/08 22:53 ID:yCKGD3h4
う、誤爆スマソ_| ̄|○
547 :
名前は開発中のものです。:03/12/09 20:47 ID:Rop9YGjm
数値として受け取って文字に変換。
文字の長さ調べて3文字じゃなかったら(゚Д゚)ハァ?にするのでは?
数値のままで100以上の合否を調べても可能かも。
いや、やっぱわかんね。テスト勉強してくる。
inputの入力を三桁制限すればいい気がする。
>>544 親の数字の決め方(repeat~loop内で重複の無い数字ができるまでループ)は
「確かにそれでもできるが」といった感じ。もう少し考えてみると面白いかも。
子の数字入力をボタン式にしたのは、なかなか面白いアイデアだけど、
スクリプトがあまり誉められた書き方ではない。稚拙。
「*seven0」「*eight0」などの10個のラベルや「seven」「eight」などの10個の変数なんて
使わなくても同じ事ができる。
HITとBLOWのカウントは、シンプルでなかなかよい。
課題として多重ループを使って欲しかったが、まあよろし。
今までの記録(入力した数字、HIT数、BLOW数)が見られないので
ゲームとしてすごい遊びづらい。改良すべき点。
じゃんけんゲームにも言えた事だが、配列変数をもう少し活用して欲しい。
配列を駆使する事で、スクリプトを簡潔に書くことができる。
>>550 いい感じ。バグ2つ。
・goto stop ってなにさ
・入力した数字の最初が 0 だと2桁になっちゃうよ (012 → 12)
課題投入。
■16パズル 難易度:★★★
1. 4×4の1~16のパネルを配列変数で表現する。(dim)
2. パネルを配列変数をもとに描画する。(好きな方法でよい line, boxfなど)
3. 自動的にシャッフルを行う。最終的に右下に16番目のパネルが来るようにする。(アルゴリズム構想)
4. 右下の16番目のパネルを取り除く。
5. 空いているパネルに隣接したパネルをクリックすると移動するようにする。(onclick, stick, getkeyなど)
6. ↑のパネル移動で、2個や3個をいっぺんに動かせるようにする。(アルゴリズム構想)
7. 左上から右下に向かって数字が揃ったときにクリアにする。
【追加課題】(出来る者はやってもよい) 難易度+★
・パネルに画像を使用する。(gcopy)
・パネル移動時にアニメーションさせる。(アルゴリズム構想)
6. を追加課題にしてもいいかも。
できたら実装してみたほうが面白い。
553 :
525:03/12/11 00:32 ID:gbZjQPMJ
repeat 4
y = cnt
repeat 4
x = cnt
color 0, 0, 0
boxf x*30, y*30, x*30 + 28, y*30 + 28
color 255, 255, 255
pos x*30 + 5, y*30 + 5
mes y*4 + x + 1
loop
loop
stop
どの辺が難しいの?
簡単化
repeat 16
pos cnt&3*30, cnt
>>2*30
color
boxf csrx, csry, csrx + 28, csry + 28
color 255, 255, 255
pos csrx + 5, csry + 5
mes cnt + 1
loop
stop
ttp://gamdev.org/up/upload.php の163.zip
↑は別のスレの企画で作っているオンラインゲームのソースです
問題はいろいろあるんですが、どうしてもわからない箇所があるのでお聞きします
serverを起動して、clientで接続
clientをもう1つ起動させて接続(誰かがログインしたという想定)
そして1つ目に起動させたclientを一切触らず2つ目に起動させたclientでキャラを動かすと
1つ目のclientのキャラも一緒に動いてしまうのです
他のクライアントの移動はamという配列変数で管理しており
amが0のときは動かないようにしてあります
デバッグで確認してもamの値は0のままになってました
もしも原因が分かる方がいらっしゃいましたらお願いします
>>556 間違ってたらスマソ。
キャラデータ送信の
info=""+myid+":"+px+":"+py+":"+key+":"+mov
repeat c
if (cnt=myid)|(cut.cnt=0) :continue
udpsendto sock,nord.cnt,port.cnt
udpsend info,,24,sock
loop
っておかしくないか?
これだと自分のidのときにデータを送れないんじゃないか?
>>557 自分に送信しても受信できないので無駄な処理をさけるためです。
もしもご協力して頂ける方がいましたら
163.zipの中にexe化したファイルを含めておきましたので
client.exeを起動し、接続先に
@31718275217182074181723652223
を入力して接続してみてください。
30分くらいはサーバーを起動させておきます。
//もしかしたらローカル上でのみのバグかもしれないので・・・
559 :
557:03/12/13 00:06 ID:s5rdQLG7
>>556 繋いでみた。
ちゃんと動いてるから問題ないと思われ。
で質問なんだがチャットってどうやるの?
どうやってもできないんだが・・
>>559 UDPなんで接続エラーの可能性があります。
今2人いるので他のキャラがいなければエラーです。
一度終了して再度ログインしてみてください。
チャットはインプットにメッセージを書いてenterで送信です。
561 :
557:03/12/13 00:13 ID:s5rdQLG7
562 :
556:03/12/13 01:06 ID:jbVXRJeZ
チャット上で解決策を尋ねましたが見つからないので
他のスレでも尋ねさせていただきます。
>>test
163.zipのコメント増やしておきました。
まだまだ解り難いと思うのでもっと細かく書いたのを日曜にでもうpしときます。
a*でaの2乗、a**でaの3乗…
というのは公式なテクニックなのでしょうか?
あっ!
566 :
名前は開発中のものです。:03/12/13 14:47 ID:mkbKc1QM
>506
HSPのソースって公開されてるの?
前に見たときは見つからなかったけど。
オレもスクリプト作ってるから興味あるんだけど。
>>564 下のスクリプトを実行すると分かるように、
左の項をそのまま持ってきてるみたいだから、
a** も実際は a*a*a となっている模様です。
便利っちゃ便利だけど、傍からみると分かりづらいから止めた方がいいかもね。
a = 10
+ = a + + + : mes +
- = a - - - : mes -
× = a * * * : mes ×
÷ = a / / / : mes ÷
stop
570 :
564:03/12/13 18:40 ID:n7gk1EQL
>>567 ありがとうございます。なるほど、すっきりしました。
てst
てst
コンテスト参加賞のコルク板が届いた。
2つ作品を出しても1枚だった。
真っ二つにして返送キボン
全角/半角モードの判定ってできますか?
送っただけでもらえる参加賞に文句言うなよ
出す側は金かかるんだから
>>579 WM_IME_STARTCOMPOSITION
WM_IME_ENDCOMPOSITION
↑は変換中の判別だった‥‥∧||∧
そのあたり参考にMSDN漁っとけと‥‥
MIA氏が現在開発中のFortsythia凄くない?使いこなすのは難しそうだがめっちゃシャレたもの作れそう。
サンプルのclock.as、snow.asとか感動しちまった。
>>588 サブルーチン使いすぎ、*main一つにまとめろ禿げ
これで遅くなりようがあるのか?
モンテカルロシミュレーションでどの手でどの手に勝つ確率がいくらになるかを
計算するために、高速なジャンケン判定ルーチンが必要なんだろ
・・・・・・・・・・・
保守しないよ?
>588
サブルーチンが多いですね。似たのがたくさんあるのでモットまとめたらどうかな。
ラベルも *sub1 とかじゃなくて内容が分かる様に名前をつけてね。
あと、switch~case文使ってみてよ。
595 :
588:03/12/19 20:44 ID:PJz1DGxB
ご助言thxです
switch~case文使ってみますね
596 :
名前は開発中のものです。:03/12/20 17:57 ID:0UazJnXG
参加賞キタ―
俺も参加賞きたけど封切らないで友達にあげたし
聞いてどうするの?
わざわざ参加賞きたよっていうことは599は作品を見て欲しい
↓
作品は何番ですか?
↓
OO番です
↓
DLしてみました。いいソフトですね
↓
大団円
603 :
名前は開発中のものです。:03/12/23 17:38 ID:hEm2SMm+
すみません、ちょいと質問したいのですが。
外部ファイルから(配列)変数内に読み込んだ文字列(仮に"サン\nプル"とします)を
mesboxで表示しようとすると、
サン
プル
となってほしいのに、
サン\nプル
になってしまうのです。
表示前に何か特殊な操作が必要なのでしょうか?
因みに、"サン\nプル"が放り込まれた(ハズの)変数に、
スクリプト内で強制的に"サン\nプル"と放り込み直すと
サン
プル
となるのですが…
アドバイスをいただけると幸いです。
エスケープシーケンスは文字列リテラルでのみ使用してください。
605 :
名前は開発中のものです。:03/12/23 18:54 ID:hEm2SMm+
>>604 つまり、エスケープシーケンス\nは、配列内に書き込まれても
エスケープシーケンスとしては作用しないということなんでしょうか?
はい
>>606 そうなんですか…
方法を考えてみます。
ありがとうございました。
>>603 勘違いしているようなので、一応言っておきます。
配列の中で使用できないわけではありません。(
>>606もたぶん勘違いしてます)
>>604の言っている文字列リテラルとは、スクリプト中に直接書かれた文字列の事です。
(mes "ABCDE" の "ABCDE" の部分が文字列リテラル)
スクリプト中の文字列リテラルで "\n" や "\t" などを書くと、エスケープシーケンスとして作用しますが、
ファイルの中身に "サン\nプル" と書いて、それを読み出しても、それは
"サン\\nプル"と同じ意味になってしまいます。("\\" は '\' を表すエスケープシーケンスです。)
もし、ファイルから読み出した文字列の"\n"を改行に変換したいのなら、
以下のような方法で、置換えを行えば可能です。
609 :
608:03/12/24 00:35 ID:konNP8rL
#module
#deffunc conv_escbr val
mref buf, 24
index = 0
repeat
p = 0
instr p, buf, "\\n", index
if p == -1 : break
wpoke buf, index + p, $0A0D
index += p + 2
loop
return
#global
sdim buf, 1024
buf = "仮定の\\nファイルから\\n読み出した\\n文字列です"
mes "変換前:" + buf
conv_escbr buf
mes "変換後:" + buf
stop
> 606もたぶん勘違いしてます
は?何で俺まで。
「配列内」ってファイルから読んだ配列の内容だろ。
>>611 DLしてみました。いいソフトですね。
冗談抜きでいいソフトですね。
マインスイーパーの横に並べときます。
>>613のにバグがあったんで、60行目に
gsel 0,1
をいれてください。
615 :
603:03/12/24 21:29 ID:dWZMykxK
>>608 わざわざスクリプトまで書いていただいてありがとうございます。
これをもとにイロイロ解析させて頂きます。
244 名前:デフォルトの名無しさん[sage] 投稿日:03/12/25 19:35
ttp://gamdev.org/up/upload.php の175.zip
昨日指摘されたバグは修正済み
@57158355758912356157856949850257655018460359984850356357259262
//readmeを読まないと使えないと思います
すみません、イロイロ探してみたのですが、見付からないので
アドバイスをいただければと思います。
noteselで確保したバッファを初期化するのはどうすればいいのでしょうか?
1回目の確保行>2回目の確保行
の場合、再度notesel命令を使うと、1回目の行の後ろの方が
ゴミとしてくっついてきてしまって困ってます。
>>617 意味がよく分からないんだが、noteselでバッファ確保ってどういうこと?
sdim使えばいいんじゃ?
sdim buf, 1
notesel buf
619 :
617:03/12/29 02:15 ID:g9Ta4pNZ
>>618 説明がうまくなかったようですみません。
sdimを再度かけることでリセットできたみたいです。
ありがとうございました。
すみません、オブジェクトの配置数について質問です。
配置数に上限というのはあるのでしょうか?
あるとしたら、いくつくらいなのでしょうか?
実は今書いているスクリプトで、コンボボックスのリストを選択すると
エラーが出て落ちてしまったりするのです。
もしいい対策なんかもあればあわせてご教授いただければ嬉しいです。
>>620 1画面に64個までです。
マニュアルに書いてあることなのでよく読みましょう。
コンボボックスの方は、ソース見ないと分からないです。
>>621 ありがとうございます。
マニュアルの読込がたりなかったようですみません。
あけましてHSP。
OHP更新されてるし
2.61βキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
次は3.0じゃないんだ
劇的な変化がないからとかじゃないか?
2.61は2.6の不具合を修正した完全版という感じか・・。
相変わらずバグだらけのままアップしてくれるなァ
DirectXを使ってマップをスクロールさせる方法が分かりません。
一応自分で調べたんですが、どれもDirectXを使わない方法ばかりでした。
教えて下さい。
>>630 別にDirectXを使用しても特別なことをする必要はない
これだけじゃ何がわからないのかわからないで
633 :
630:04/01/04 21:29 ID:fKggHIv3
640×480までの画像しか扱えないDirectXでは、
画面からはみ出すくらいの大きなマップを、
スクロールして画面に少しずつ表示させることはできないじゃないですか?
って感じの疑問です。
>640×480までの画像しか扱えないDirectXでは、
いや、そんなことはないぞ?
>>633 640*480以上の画像でも扱える。
あとマップってRPGとかじゃないの?
それならマップチップ使ったほうが楽。つーか1枚絵じゃ無謀。
>630
ところでDirectXを使うプラグインはどれよ?
hspdxなら今それでRPG作ってるから教えられるかも。
アルファブレンド使えないからhspdx+αに変えたけどな。
hspdxaってまだプロジェクト動いてる?
βだし、ちょっと不安。hspdxがアルファつかえるようになる日は来るのかな。
638 :
630:04/01/05 01:03 ID:uGYbQduc
>>635 マップチップ使ってます。
>>636 hspdxです。
横、縦を4:3の比率でやると表示できました。
6400×4800は出来ませんでした。
上限があるのでしょうか?
そもそもRPGは、このやり方であってますか?
6400×4800って・・・
16bitとすると約62M?
うちのへたれマシンじゃ即死だな。
>638
間違ってるかどうかは判断しかねるが、ありえそうもない数字ではある。
ある程度はスクロールできていいだろうが
画面端に行ったら次のマップが表示されるって具合に分割したほうがいいと思われ。
あと、縦横の比率はグラフィックボードによる。
マップチップ使ってて6400x4800ってどういう意味?
スクロールで画面内に入ってくるチップデータのみ描画してんじゃないの?
>>638 表示範囲内だけ描画すればいいわけだからそんなサイズは必要ないと思うが。
画像素材自体がそのサイズならスマソ。
6400x4800て・・・
メモリ資源の無駄使いすぎw
アフォですな
644 :
630:04/01/05 13:11 ID:m2Bf4GQ+
大きなマップをスクロールするより、
640×480を何枚か分割して作って表示した方が効率がいいんですか?
マップチップ使ってんじゃなかったのかよ。
そもそも広いマップを1枚絵でやろうとするのは無理がある。
646 :
630:04/01/05 13:59 ID:m2Bf4GQ+
>>645 マップチップ使ってます。
32×32を組み合わせて640×480を作ってます。
昔のドラクエみたいな画面なわけ?
チップ使ってて644のような質問がでる意味がちょっとわからないのだが。
メモリ内にチップを全部並べちゃってんじゃチップの意味ないんじゃ。
そういうことじゃないのか?
648 :
630:04/01/05 14:37 ID:PAya0fj5
マップチップだとツクールと変わりばえせんやん。
ドット単位でマップチップ作るとか。
650 :
630:04/01/05 15:25 ID:PAya0fj5
>>649 RPGのサンプルが見つからないんで分からないんですが、
HSPでもマップチップが主流じゃ無いんですか?
つまり
>>630が言いたい事はこうだろ
別の画面にマップチップを並べる
↓
それをゲーム画面にマイナスの座標で貼り付ける
┌―――┐
| |←マップチップ並べたやつ
| ┌┐ |
| └┘ |←ゲーム画面
└―――┘
↓
キャラが動いたら「マップをスクロール」
・・・こんな動かし方じゃメモリの無駄だろうが。重くなるのも当たり前。
もう少しパソコンの中身の事も勉強しような。
653 :
630:04/01/05 16:16 ID:PAya0fj5
>>651 そんな感じです。
それが主流だと思ってた・・・_| ̄|○
自分もDirectXについて質問させてください。
ウインドウモードで文字や画像を表示して、
ウインドウを画面外に持っていくと画像が削れて消えてしまうんですが、
これって静止画面でも
毎回画面を更新する必要があるんでしょうか?
それとも他に方法があるんでしょうか…
>654
自前で再描画しないといけないと思われ。
>>653 マップチップを使ってるならマップデータを配列変数とかに入れといて
それをもとに描画していくのが主流だと思う。
>>654 その通り。
>>655 >>656 お答えありがとうございました。
ということは、メニュー画面なども毎回更新すればいいんですね。
助かりました。
ビデオカードのオフスクリーンバッファの
使用可能サイズが調べられるところってある?
デスクトップで作ってるゲームをノートでテストしたら
縦長の画像が乱れまくりで(´・ω・`)
バッファを正方形にしたら表示できたけどメモリの無駄ぽ。
HSPってDirect3Dのアニメーション付きXファイルを直接扱えますか?
何かプラグインのようなものが必要なのでしょうか?
660 :
名前は開発中のものです。:04/01/10 00:57 ID:klWPfVq4
>>659 直接は扱えない
Xが解釈できるプラグインはZGPとForsythia3D。
独自フォーマットを使っても良いならEasy3DとHGIMGがある。
661 :
659:04/01/10 02:32 ID:6RMHJmr5
>>660さんありがとうございました
プラグイン探して試してみます
662 :
名前は開発中のものです。:04/01/12 23:44 ID:8Fyv98Ob
directXの質問が流行っているようなので漏れも質問。
文字を表示するとき一瞬で全部表示するのが嫌なんだが
文字速度を変えて表示するにはどうすれば良いのだろうか?
text命令が使えれば解決なんだが使えないし‥。
>662
文字列の左から1文字ずつ取り出して、waitを入れながら自分で書く。
しかし、意味不明な命令名だ。textて。
>>658 10センチ×20センチの長方形=200平方センチ
10センチ×10センチの正方形2つ=200平方センチ
なんでメモリの無駄なのか分からん
よっぽど縦に長い画像なんじゃないの?
(ビデオカードのオフスクリーンバッファとかは関係ないと推測)
俺も質問します。
directXでファイナルファイト系のACT作る場合
敵が重なった場合のプログラムで悩んでいます。
重なった場合スプライト№の小さいほうが前にくる仕様なので
毎フレームごとに画面上の全キャラのY座標を調べて
Y座標の小さい順にソートしてスプライト№を毎回変えるという方法が
思いつくのですがこれであっているのでしょうか?
スプライト№を変えるというのが面倒で嫌なんですが
これしかないですか?
>>666 合ってるよ。描画順の指定が面倒なのは仕方ないこと。
test
スプライトはMSXやX68000時代の遺物。その時はハードウェア的な意味での
機能だったのですごく重要だった。
HSPのプラグインにもスプライトがあるが、あくまでも概念だけのもの。
それを作った奴は確かに偉いけれども、逆に言えばそいつが考えた仕様に
合わせなくちゃいけないということだ。プログラマーの自由度が削られる。
だから俺はスプライトを使うのは好かん。1フレームごとに全部消して
描き直しても十分な速度が得られる現在、なんの意味があるのかと。
仮想画面からキャラをコピーした方がよっぽど簡単なのとちゃうんかと。
俺は普通に使ってて便利だと思ってるけどなあ…
>>669 >仮想画面からキャラをコピーした方がよっぽど簡単
それを使い易くするためにフレームワークを被せると、
スプライトって呼ばれないか?
>プログラマーの自由度
( ´,_ゝ` )プッ
>>671 厳密な意味ではスプライトとちょっと違うんだけどね。
まあでも最近の機械ではスプライトって言うのかもしれん。
重箱ごめん。
ぴゅう太にならって「アニメ」と呼ぼう!
突然ですが、HSPでオリジナルカードゲーム作ってます。
簡単そうに見えて、難しいものですね。
C言語も習っているのでたまにごっちゃになります。
全然たいしたものじゃないんですが、完成には時間がかかりそうです。
ガンガレ
ちょっとまて、頑張るな
679 :
名前は開発中のものです。:04/01/24 21:19 ID:tyx7heXI
>>678 イイゾ!モットヤレ
( `Д´)y-~~テイ レベル
notemax gyosu : gyosu--
noteget bun,gyosu
if bun="" : notedel gyosu
これで最後の空白行が消えないのはなんで?
小一時間悩んでるんだが
>>680 空行はnotemaxでカウントされないという罠。
strlen len,bun
repeat
peek a,bun,len-2
if a!0x0d : poke bun,len,0 : break
len-=2
loop
685 :
683:04/01/27 12:22 ID:CUdb2ND0
あ、
>>683って考えてみたらバッファアンダーラン起こすな…
strlen len,bun
repeat
if len<2 : poke bun,len,0 : break
peek a,bun,len-2
if a!0x0d : poke bun,len,0 : break
len-=2
loop
使う人は居ないと思うけど念のため。
noteadd "\n",-1
とやると2行改行されてしまうんですが何故でしょうか?
\nが入ってるから
一行だけ改行を挿入したい場合どうすればいいんでしょうか?
>>686 alloc buf, 32000
buf = "hogehoge"
notesel buf
noteadd "\n", -1
noteadd "hogehoge", -1
dialog buf
こんなスクリプト書いてると空行が2個になってしまう。その場合
noteadd "\n", -1
を
buf += "\n\n"
に変えればよい。
691 :
686:04/01/28 18:17 ID:Ee45Sbfd
directXで半透明や加算合成が使えるのを探しているんですが、
ZGPとHspdx+α、どっちがいいんでしょうか?
どっちもオフィシャルサポート期待できないんだよなあ…
それよりZGPってまだ手に入るのか?
zgpswってどこにもないね
697 :
694:04/01/30 19:09 ID:QygsvJJJ
>>695 情報サンクス。
こんなサイトあったんだ。
もうHspdx+αでかなり作っちまったから、
いまさらやり直せないけど落としとこうかな。
みんなHSPでゲーム作るとき、DirectX使用してる?
俺してないんだけど、ヤバイかな。
べつに
700
>>698 動きの少ないゲームなら、わざわざDirectx使う必要はないだろう。
ACTとかSTGなら使わないと話にならないと思うけど。
なんでHSPでACTとかSTGなんか作ろうとするかなぁ。
サウンドノベルや美少女ゲームが一番だよ。
HSPでフルカラーでDirectXって使えますか?
STGってHSPだと作るの楽じゃない?
>>703 自分もそうだけど、何かを使って「STGが」作りたいんだよ。
で、何で作るのがラクかって考えたらHSPになった、と。
「なんでもいいからHSPで何かを」作りたいんじゃないんですよ。
>>705 同意。
>>704 可能。別にHSPかどうかは関係ない。
>>705-706 理由が「当たり判定がラクだから」とか「自動で移動させられるから」だと、ちと悲し。
708 :
698:04/02/01 00:48 ID:33u5k/M+
>>702 今作ってるのは
>>675のカードゲーム。まあ碌なもんじゃないと言われればそうなんだけどさ。
自分の環境だと速すぎるぐらいだけど、メモリー搭載量によって違いは生じるんだろうな。
ためしにメモリ32MB搭載のWindows95で試してみたら、かなり苦しかった。
wait 1 じゃお話にならなかったので、await 0 に置換してみたんだが、それでもギリギリ。
今時メモリー32MBの人は稀だろうし、派手なアニメーションは使ってないから、
DirectX使わなくても大丈夫だと思うけど、せめて速度調節機能は付けるつもりだよ。
>>708 なんでメモリ容量で速度が支配されるの?フルカラーの巨大カードとか?
わけわからん
メモリ容量は関係ないと思うぞ。
単純にCPUパワーの差じゃないの?
というかDirectX使っても良いんじゃ。
使わない理由が無いので。
>>707 いや、移動や当たり判定は自前でやってるよ。イマイチ信用できんし。
昔は8ビットPC環境で、BASICとアセンブラで作ってて、Cは触ったことなかったんだよね。
で、Win環境に移行するときに、c++を一から覚えてからやるかどうか迷ったんだけど、
それを習得する労力と時間に比してどれだけのモノが作れるのか考えたら、HSPでも充分かなと。
限界を感じたらC++に移行するってのはあると思うけど。
712 :
698:04/02/01 15:10 ID:ep+7HZP0
>>710 詳しくないもんですいません。
検討してみます。
gmode 2,640,480
es_fill 0,0,120
では32×32しか塗りつぶさないのですが、
なぜでしょう?全くわかりません。
DirectX関連の命令について理解している所なんですが、早速詰まってしまいました。
まずウインドウモードで起動したいので、
sample/hspdx/TEST1.asの、14行目を es_screen 640,480,8,3 と書き換えてみたのですが、
この場合マウスカーソルが画面内に入ったときにカーソルがちらついてしまいます。
それを無くするにはどうすればいいのでしょうか。
カーソルの画像を用意して、mouse -1 として、強制的に描画させることは出来ると思うのですが
できるだけ生のカーソルのまま表示させたいのです。
>>714 うちの環境だと別にちらつかない。
DirectXのバージョンとかビデオカードの違いのせいでは?
>>713 >gmode 2,640,480
のp4,p5が足りない。
>>713 まちがえた。
描画サイズが大きすぎるんだろう。
>>713 あれれ?今試してみたらふつうにできた。
よくわからん。
719 :
714:04/02/01 22:45 ID:kW1nQlsT
>>715 念のためDirectXの最新版を確認しましたが、結果は変わらずです。
となるとビデオカードの所為ですか。だとするとソフト側でどうにかすることは不可能ですね。
どうやらes_sync命令を実行したときに一瞬ちらつくようです。
hspdxaのwinmodeを使用するとちらつきは無くなるのですが、
起動時に画面全体が激しくちらつき、動作速度が格段に遅くなる上、色化けまで起こるという惨事なので
ちょっと使えそうにありません。HSPDXFIXも試しましたが変わりありませんでした。
カーソルの画像を用意すれば一発解決なんですが、この方法を取っているプログラムを使ってみた所、
カーソルが見づらくなる事はあっても、見やすくなることは一度もありませんでした。
なので、自分がプログラムを作るなら、これだけはやりたくない!という中の一つなんですよ。
派手なアニメーションを使うわけではないので、解決法が思いつかない限りはDirectX無しで作ってみます。
720 :
名前は開発中のものです。 :04/02/02 18:52 ID:rDwnyv+9
cls命令を出さないと、画面描写ができません。
ゲームオーバー画面を作ろうとしています。
*main
ゲーム中の処理
goto*main
*gameover
gcopy 3,0,0,100,100
stop
このような構成ですと、
gameoverのはじめにcls命令を出さないと画面に描写されません。
決まっている点から、ランダムできまる点へ線をひきたいんだが
どうすりゃいいかね?
rnd x2,640 : rnd y2,480 : line x,y,x2,y2
つまりマウスポインタのある場所でも同じようにできるよな?
つか それでシューティングを作ってみたいんだが
同じようにlineでできるか?
やってみてから言ってくれ
なんか最近はネタとしか思えない質問が
多い気がするのは気のせいですか?
ちょっとは試行錯誤すれっていうか、少なくとも
マニュアル読んでから質問しようよ。
つーかマジ質問は公式BBSで聞いた方が早く答えてくれる罠。
向こうの方が人多いしな。
>>723 マウスの座標を(mx,my)とする。
砲台の、レーザーを発射する点を(sx,sy)とする。
5フレームめでマウスの座標に到達するとする。(5フレームってのは適当)
1フレームめで引く線はline sx,sy,mx/5,my/5
2フレームめで引く線はline sx,sy,mx*2/5,my*2/5
・・・
あんましきれいに飛びそうじゃないな。1フレームめでいきなり
line sx,sy,mx,myとしても、それなりに見れるのか。
730 :
729:04/02/03 20:35 ID:SStPBMrF
訂正
1フレームめで引く線はline sx,sy,(mx-sx)/5+sx,(my-sy)/5+sy
2フレームめで引く線はline sx,sy,(mx-sx)*2/5+sx,(my-sy)*2/5+sy
731 :
729:04/02/03 22:20 ID:SStPBMrF
#include "hspext.as"
sx=winx/2:sy=winy-1
linecnt=0
*main
await 16
redraw 0
cls
stick s
if (s&256!0)&(linecnt=0) {
mx=mousex:my=mousey
ematan angle,mx-sx,my-sy
angle=192-angle
length=((mx-sx)*(mx-sx))+((my-sy)*(my-sy))
linecnt=1
}
if linecnt!0 {
emcos x,angle:emsin y,angle
tx=x*20*linecnt
>>8+sx:ty=y*20*linecnt
>>8+sy
if ((tx-sx)*(tx-sx))+((ty-sy)*(ty-sy))>length {
linecnt=0
}
else {
line sx,sy,tx,ty
linecnt=linecnt+1
}
}
redraw 1
goto *main
732 :
ガイデル:04/02/04 03:10 ID:tFEQ2vhE
画像に触れたら画像が変わる
これは、if文を使って「マウスがある座標にきたら画像変身」
という形でできるのでしょうか?
if文の基本は勉強しましたがマウス関係が良く分かりません。
知っている方がいれば是非ともご教授お願いします。
システム変数mousexとmouseyを使う。
screen 640,400
buffer 2,16,16:picload "sample\\demo\\hsp2ttl.jpg"
buffer 3,16,16:picload "sample\\demo\\hsp2ttlx.jpg"
xSize=winx:ySize=winy ;画像の大きさ
xPos=0:yPos=0 ;左上位置
gsel 0:gcopy 2,xPos,yPos,xSize,ySize
onMouse=0 ;マウスは画像に乗っているか?
repeat
%nbsp; if ((mousex>xPos)&(mousex<xSize))&((mousey>yPos)&(mousey<ySize)) {
%nbsp; %nbsp; if onMouse=0 {
%nbsp; %nbsp; %nbsp; onMouse=1
%nbsp; %nbsp; %nbsp; gcopy 2,xPos,yPos,xSize,ySize
%nbsp; %nbsp; }
%nbsp; } else {
%nbsp; %nbsp; if onMouse=1 {
%nbsp; %nbsp; %nbsp; onMouse=0
%nbsp; %nbsp; %nbsp; gcopy 3,xPos,yPos,xSize,ySize
%nbsp; %nbsp; }
%nbsp; }
%nbsp; wait 10
%nbsp; title "onMouse="+onMouse+" : "+"mousex="+mousex+"mousey="+mousey
loop
stop
ギャー、置換ミスった……吊ってくる
screen 640,400
buffer 2,16,16:picload "sample\\demo\\hsp2ttl.jpg"
buffer 3,16,16:picload "sample\\demo\\hsp2ttlx.jpg"
xSize=winx:ySize=winy ;画像の大きさ
xPos=0:yPos=0 ;左上位置
gsel 0:gcopy 2,xPos,yPos,xSize,ySize
onMouse=0
repeat
if ((mousex>xPos)&(mousex<xSize))&((mousey>yPos)&(mousey<ySize)) {
if onMouse=0 {
onMouse=1
gcopy 2,xPos,yPos,xSize,ySize
}
} else {
if onMouse=1 {
onMouse=0
gcopy 3,xPos,yPos,xSize,ySize
}
}
wait 10
title "onMouse="+onMouse+" : "+"mousex="+mousex+"mousey="+mousey
loop
stop
>732
本家のコピペ?
それとも素マルチ
STG作ってるんだけど、敵弾処理とかで使う三角関数って
皆さんどうやって計算してます?
自分で思いつくのは下の2つくらいなんですが・・・
(方法1)
自前でsin、cosのテーブル用意しておき、
X方向増分とY方向増分からatanの値(角度)を計算して
テーブルの該当場所を参照して値を求める。
(方法2)
hspext.dllを使って、ematan命令で角度を算出して
算出した角度からemsin、emcos命令で値を求める。
簡単なのは方法2ですが、処理速度は大丈夫なのかなあと思ったり。
他に何かウマイ方法あれば情報プリーズ。
2でやってるよ。
速度はまったく問題なし。
>>736 通常、HSPでスクリプト書くよりプラグイン呼び出した方が圧倒的に早い。
DirectX使ってゲーム作ってるんだけど
VRAMをどれくらい使ってるか、調べられる方法ってある?
自力で計算するしかないかな?
動作環境書くとき調べたいんだけど。
ゲーム用の画像ファイルをクリックする。
何キロバイトって書いてあるか読む。
坊やには難しかったみたいだね。
es_capsがGetCapsメソッドをまんま呼び出しているようだな
>>740 読みこむバッファのビットの深さによっては
必ずしも同じではないよ。
640*480の場合
8ビット (パレット) 301KB
16ビット (ハイカラー) 600KB
32ビット 900KB
まぁ、多分パレット前提で話してたんだろうけど。
そうだったらごめん。
>>736 自分も2かなぁ。それとは違うdll使ってるが。
ただ俺は角度出して終わり。(256精度)
動かし方が違うね。
32ビット 1200KBデシタ。
745 :
739:04/02/06 06:31 ID:ZpfpyF1k
>>742 気づかなかった・・・くだらない質問してすまん。
dwVidMemTotal から dwVidMemFree
を引くってことでいいのかな?
>>742 しっかし await命令は精度悪すぎで0以外信用できんが、
これは何使ってんのかねぇ。
アンタ詳しそうなので。
内部仕様は知らんのでなんとも言えんが
Sleepを使わない場合はtimeGetTimeとwhileループの組み合わせで
時間調節しているんじゃねぇの?
間違ってたらスマソ
でもさ V-SINC 切るなんて気持ち悪くてできねぇから
awaitも0以外使うことはないよね。
いやコンフィングでいろいろ変えれるようにはしとるが
『激しく推奨』みたいな。
うヲッ!
こんなとこでAMmidi房発見w
>>748 CPU使用率を見ると、2.55まではそうだったようだ。
2.6からは、要望があってSleepが入れてあるらしい。
>>753 第二引数でコントロールできるらしいね。
2.55までの仕様の方が正確だということで(ヘボいマシンほど顕著)
await 0,0 にしないと気が済まなくなった。
フルスクリーンだし困ることは無いよね。
await だとCPU100%行くんだよなー
環境にもよるだろうけどawait 1以上にすれば30以下なのに
>>755 待ち時間なしのawaitではメッセージ処理しか行われないようだ
>>737 >>738 自分で検証してみた結果、2点の座標から角度(256分割)を算出するのは、
ヘタに自前でスクリプト書くよりDLL呼び出した方が速かったです(^^;
素直にDLL使っておきます。
角度からsin、cos値を求めるのは、その都度sin、cosを呼び出すより
あらかじめ配列に入れておいてそれを参照するほうが速かったです
当たり前といえば当たり前だけど。
時間の殆どは描画じゃろ?
計算速度なんて気にするレベルじゃないんじゃない?
>>757 二点の座標x,yが分かればsin,cosは√計算だけですぐ求まるだろ。
x,y → ang → sin,cosというのはナンセンス
>>759 それでもいいんだけど、今撃たれたのが「1周を256に分割した場合の何番の方向の弾」かも同時に知りたいので、
あえて一旦角度を算出してます。
その弾を中心にした多Way弾を撃たせたり、ホーミング弾で角度によってグラフィックを変えたりしたいので。
>>758 8ビット機でBASICから入った人間としては、
おなじ結果が得られるんであれば、よほどコードがでかくなるんでない限り
速いほうを採りたくなるもんなんですよ(^^;
今の時代にそぐわないんですかね?時間のムダ?
>>761 OK、わかる。
俺としては、時間より何より後で見て判りやすいってのを推奨したいところだが。
>>760 あ、俺と同じ。
それやってるってことは、描画任せてるdllは
AMddrawかhspdx+αかね?違う?
>>758 そうでもないYO。
計算も馬鹿にならんかも。
俺よく、納得いくまでNOウェイトで速度量ったりしてんだけどサ↓。
STGの背景に星使ってんのね。
場面によって違う透明度とか移動方向やら速度の計算とかしてんの。
星の描画無しにすると。1ステージ平均FPSが 20ぐらいしか上がらなかったが
星発生も計算も無しにすると70ぐらい上がった。
HSPではなく、ただ俺のソースがヘタレなだけかもしれんがね。
糞ソース
糞ース
糞ス
ス
>>763 いや、shinagawaさんのhspdxfix(ver0.14)です。使い慣れているので。
只、スプライトの自動移動は使わずにすべて自前で処理してますが。
AMddrawやDX+αを使ったら、なにが劇的に省力化出来る部分ってあります?
アルファくらいか?
hspdxfixが半透明使えれば…
>>768 じぶんは+α使ってるんですが、
省力化って部分には期待出来ませんね。たぶん。
むしろhspdxにfixが付く前のバージョンの仕様なんで
それ以降の便利な機能がなくて使いにくいかも。
でも回転変倍や半透明は最強に使いやすいYO。
結構おすすめ。
>>769 回転変倍や半透明は3Dアラセタレータの仕事なんで
バッファのとり方とかの形式が違うらしいよ。
だからいきなり普通のバッファの画像をアレコレ
機能かけまくるってことは困難らしい
ってshinagawaさんが言ってた様な気がする。
+αは結構良いんだけど、たしかに分化したのがHSPDXの古いバージョンだからなあ…。
あと更新が止まっちゃっててサポートが期待できないってのもちょっとね。
波紋ができた!
#define bit 5
#define mode 1//画面モード
#const size mode!0*3
#const bit2 (1<<bit)-1
#include "hspext.as"
screen 0,160,160,mode
mref vram1,66
dialog "",16 : if stat=0 : end
buffer 2,,,mode : picload refstr
wx=winx : wy=winy : mref vram2,66
gsel 0
emath bit
dim d,winx,winy : dim sin,winx,winy : dim cos,winx,winy
repeat winx : x=cnt : repeat winy : y=cnt
dx=winx/2-x : dy=winy/2-y
tmp=dx*dx+(dy*dy) : emsqr tmp2,tmp<<bit : d.x.y=tmp2>>bit*2
ematan at,dx,dy : emsin sin.x.y,at : emcos cos.x.y,at
loop : loop
repeat
a++ : redraw 2 : boxf
repeat winx : x=cnt : repeat winy : y=cnt
dd=d.x.y+a&bit2
emsin w,dd
w=w
>>2 : dx=w*sin.x.y>>bit : dy=w*cos.x.y>>bit
x2=x+dx : y2=y+dy
if wx<=x2|(x2<0)|(wy<=y2)|(y2<0) : x2=x : y2=y
memcpy vram1,vram2,size,(winy-1-y)*winx+x*size,(wy-1-y2)*wx+x2*size
loop : loop
redraw 1 : await 16
loop
>>774間違えた×773→○772ね
いまソース解析してますがマジすげーですね。
2DのDirectXを使ったゲームを作りたいのならHMMもいいと思うよ。
ゲーム作るのに必要な命令が一通りそろってるね。
同人ゲームでも使われているみたいだし。
>>772 の修正
#const size mode!0*3 //sizeが1なら1、0なら3 になるようしたかったけど失敗
修正
#if mode
#define size 1
#else
#define size 3
#endif
dd=d.x.y+a&bit2 //波を外側に動かしたかったんだけど失敗
修正
dd=d.x.y-a&bit2
778 :
名前は開発中のものです。:04/02/11 21:53 ID:1oVgDJ3E
質問です。
ゲーム中に、テキストファイルを変更できないように
ロックしたいのですが、やり方がわかりません。
ゲームを起動していない場合は、変更可能、という
仕様にしたいのですが。
どなたか、何か情報をご存知でしたら、ご教授を
お願いします。
OpenFile, LockFile/LockFileExあたり
プラグイン書くCの処理系次第ではflockも使えるかもしらん
781 :
778:04/02/11 22:36 ID:1oVgDJ3E
>>779-780 ご返答、ありがとうございます。
プラグイン書かなきゃいけないんですね。
道理で、見つからないわけだ。
やってみることにします。参考になりました。
(゚д゚)<㌍㍑㌶㌔㍍㌃㌶㌣㌻㌻㌣㌍㌘㌘㌻㍍㍊㌻㌻㍉㌣㌶㍍㌔㌔㌻㍉㍍㌔
㍍㌔㍗㍍㌢㌔㍉㌣㌦㍑㌃㌧㌘㌶㍗㌣㌫㌔㌘㍑㌘㌧㌦㌫㌻㌣㍑㌧㍍㍑㌍㌻
㍉㍊㌦㍑㌢㌔㌦㌫㌻㌍㍑㌶㌃㌧㌘㌢㌔㌦㌍㍑㌶㌔㍍㌃㌶㌣㌻㌻㌣㌍㌘㌘
㌻㍍㍊㌻㌻㍉㌣㌶㍍㌔㌔㌻㍉㍍㌔㍗㍍㌢㌔㍉㌣㌦㍑㌃㌧㌘㌶㍗㌣㌫㌔㌘
㍑㌘㌧㌦㌫㌻㌣㍑㌧㍍㍑㌍㌻㍉㍊㌦㍑㌢㌔㌦㌫㌻㌍㍑㌶㌃㌧㌘㌢㌔㌦㌍
㍑㌶㌔㍍㌃㌶㌣㌻㌻㌣㌍㌘㌘㌻㍍㍊㌻㌻㍉㌣㌶㍍㌔㌔㌻㍉㍍㌔㍗㍍㌢㌔
㍉㌣㌦㍑㌃㌧㌘㌶㍗㌣㌫㌔㌘㍑㌘㌧㌦㌫㌻㌣㍑㌧㍍㍑㌍㌻㍉㍊㌦㍑㌢㌔
㌦㌫㌻㌍㍑㌶㌃㌧㌘㌢㌔㌔㍗㍍㌢㌔㍉㌣㌦㍑㌃㌧㌘㌶㍗㌣㌫㌔㌘㍑㌘㌧
㌦㌫㌻㌣㍑㌧㍍㍑㌍㌻㍉㍊㌦㍑㌢㌔㌦㌫㌻㌍㍑㌶㌃㌧㌘㌢㌔㌦㌍㌶㌔㍍
HSPで作られたすごいゲームって何がある?
ちょっと興味あるなぁ。
悪い意味で 『すごい』 ゲームならいくらでもあるんだがな・・・
「ぷちわらの冒険」とかかなぁ・・・
思考系棒人間アクション。まだ開発中らしいけどね。
結構面白かったよ。
銀河獅子伝
袴ッ子、脱衣シューティング D-Force
Lightning Force
宝石物語
とかフリーで面白いソフトのスレで取り上げられてたけど
hspで作られたソフトとかをまとめてあるスレやサイトを見たときないから知らない
HSP製と明記してないソフトも多いんでは?
もう一つ思い出したけど
エクソシズムブリーズもHSPじゃなかった?
個人的に好きになれんかったけど。利用者多いよ。
エクソシズムブリーズはHSP以外も使われてたような気がする
間違ってたらスマソ
やっぱりキラーソフトって必要ですよね。
きりきりとかは、クリスマス・イブがあるし
Tonyuはそれがないんで伸び悩んでる。
>>784 うんうんと頷いてしまえるのが悲しい(^^;
HSP製で面白かったといえば、最近では「飛翔鮎」かな。
フリーじゃないので作者のサイト行っても体験版しかないけど
良くできてる。
やっぱり配布停止になったマネシス99でしょう。作者にメールしてこっそり貰った。
「エクソシズムブリーズ」も「飛翔鮎」もhmm.dllを使っているね。
おいらも使ってみようかな。
hmm.dllは画像部分に関しては他のプラグイン使ったほうがいいと思うよ
Space War Game
もHSPだったと思う
見た目地味だけど面白かった
みんなhmm.dllはDirectinputとDirectsoundに使ってるのかな。
>>794 自分は前のゲームではサウンドだけ使ったよ。
こんどはinputも使ってみるかな。
ゲーム自体をDirectX対応にしてる段階で、
DirectInput非対応なコントローラ環境は切り捨ててるワケだし。
サウンドだけならMIA氏のdsoundex.hpiのほうがいい気もする。
HSP ver2.61β3 更新されてるね
五つのビリヤードの玉を、真珠のネックレスのように、リングにつなげてみるとしよう。
玉には、それぞれナンバが書かれている。
さて、この五つの玉のうち、幾つ取っても良いが、隣どうし連続したものしか取れないとしよう。
一つでも、二つでも、五つ全部でも良い。
しかし、離れているものは取れない。
この条件で取った玉のナンバを足し合わせて、1から21までのすべての数ができるようにしたい。
さあ、どのナンバの玉を、どのように並べて、ネックレスを作れば良いかな?
(森 博嗣「笑わない数学者」より引用)
以上の問題を解くプログラムを書いてみてちょ。
ちなみに、答えは上記の作品中にはでてこなかったが、俺は自力で解いた。
答えは1種類のみ。
難しいこと言うな。
チンプソカンプソだ。
801 :
799:04/02/18 19:16 ID:gh3NKY94
ヒント
x 個の玉を使って
>>799の条件で作れる数字の数は (x-1) * x + 1 である。
5個の場合は (5-1) * 5 + 1 なので、21通りの組み合わせがある事になる。
つまり、5個の玉で1~21の数字を作るには、全ての組み合わせがそれぞれ違う数を
作らなくてはならない、という事になる。
802 :
:04/02/18 19:46 ID:i9Ons+HP
スレ違いだと思うぞ
#module
// Fibonatti 数列の n 番目の項を求める
#deffunc fibonatti int
mref n, 0
mref result, 64
if depth == 0 : dim array, n+1, 2
array.depth.0 = n
if (array.depth.0 == 0)|(array.depth.0 == 1) {
result = 1
} else {
n = array.depth.0 - 1 : depth++ : fibonatti n : depth-- : array.depth.1 = stat
n = array.depth.0 - 2 : depth++ : fibonatti n : depth-- : array.depth.1 += stat
result = array.depth.1
}
return
#global
repeat 20
fibonatti cnt
mes "fibonatti(" + cnt + ") = " + stat
loop
stop
HSPで再帰って辛いね。(´Д`;)
事実上ローカル変数が無いもんなぁ。
もうちょっとシンプルにできないかな…?
>>799 > 玉には、それぞれナンバが書かれている。
最大値は?
2, 5, 1, 3, 10
ランダムで当たってるけど,この数列の反転や
ローテーションしかヒットしない
複雑な計算が必要な場合はdll使ったほうが早いかもね
HSPで再帰プログラムが書きやすくなるプラグインってどんなんだ
810 :
名前は開発中のものです。:04/02/19 03:32 ID:zZjVNwu8
HSPにもこんなまじめなスレがあったのか。
ム板のスレしか知らないものでね。
ム板のスレは最近は数人のコテが私物化してしまってる状態だしね。
で、HSPのソースコードデバッガってないのかよ?
デバッグウインドウとdialogでのデバッグは辛いよ…
Σ(゚Д゚;ハッ!
逆コンパイラをベースに自作しろってことか?
>>812 ツールがそろってない・・・・・ → Σ(゚Д゚;ハッ! HSPじゃなくてもいいかも!!
→ C++に
c++の前にcな
つーか、何作ってりゃデバッガが必要になるのよ?
大規模なものには向かないって、おにたま自身が言ってるんだから
考えて言語選べよ。
考えられるような香具師は
VCとか使うだろ
Σ(゚Д゚;ハッ! HSP以外使えない!
HSPに多くを期待しちゃダメだべ
スープでも飲みながらお気楽コーディング、がモットーだからの
機能をたくさんつけても、元のお気楽さや間口の広さが失われないような
バージョンアップなら歓迎だけども。
819 :
812:04/02/19 19:38 ID:PP+EyhaG
お気楽にやるのに、デバッガが必要だと思ったんだがね…
賛同者が多ければ、自作公開とも思ってたんだが、
この様子だと需要はなさそうだな。
じゃあな、あばよ。
公式でやればいいのに…。
>>819 ああ、作者に作ってほしいって言ってるんじゃなかったんだね。
誤解してたスマン。
ただ現実的にはHSP開発陣は作ってくれないと思うし、
必要なものは自分で作るという姿勢は悪くない。
>>821 シャレの利いてるネーミングがいいな、それ。
ああ、素でテスターって読んでた。
テイスターかw。
ほんとだ。テスターじゃなくテイスト(味わう)
HSPにはいろいろなDLLが公開されているけど
DLLってことはVC++から呼べないですか?
>>824 漏れはタスターって読んでた、、、( ´Д⊂ヽ
じゃあ俺はタステーな
ぬるぽー
g(ry
#define ON 1
ってやるとエラーでんだけど何で?
onが予約語だからじゃない?
>>831 on p1 goto/gosub *label0,*label1,*label2
という命令があったりする。
要するに、p1(数値変数)の中身見て、0なら*label0へ、1なら*label1へ、みたいな。
…こんなの使ったらわけわからなくなりそうなオカン(´Д`;)
起動したときのウインドウの位置って指定できる?
>>834 screen p1,p2,p3,p4,p5,p6,p7,p8[ウインドゥIDを初期化]
p1=0~31(0) : ウインドゥID
p2,p3 : 初期化する画面サイズX,Y(1ドット単位)
p4=0~1 : 初期化する画面モード
p5,p6 : ウインドゥの配置X,Y(1ドット単位)
p7,p8 : クライアントエリアのサイズX,Y(1ドット単位)
これも変な質問だったら悪いけどさ。
#defineを使うのとgosub使う大きな違いってなんだろ。
gosub使うとスクリプトが読みにくくなるのは分かるけどさ。
#defineを自然と敬遠しちゃってるんだよ。
>>837 わけわからん
#deffuncのことか?
>>838 すまん普通に間違えた。
しかも遅レス。
吊ってくる。
?#deffunc
違いといえば、#deffuncは定義後の行からしか有効じゃないから、
どうしても、モジュールにした方が使いやすい。
汎用かつ、API呼び出しの絡む処理は#deffuncしてモジュールにしておくのが
割と一般的、再利用もしやすくなる。
モジュールにせずに#deffuncし過ぎると自分で組んだ物以外は
標準とユーザー命令の区別がすごく大変。
まぁ標準命令だけのちょっとした汎用処理はわざわざ#deffuncしないかねぇ。
842 :
名前は開発中のものです。:04/02/21 07:32 ID:GhtsoGfK
HSPは簡単だと聞いていたけど
実際ゲームのコードとか見てみたらすげー短い・・・
俺がC/C++で書いてた量にくらべると・・・
これ簡単でいいな~
だから入門用に最適なわけで
コードが短い分、文法的・機能的な制限が多いので
結局プラスマイナス0だったりする
846 :
名前は開発中のものです。:04/02/21 23:45 ID:qAarA7e+
今HSPで作ってるぞ~、、、ブランクがあっても、すぐにやれちゃうのはBasicみたいで(・∀・)イイ!!
847 :
名前は開発中のものです。:04/02/22 01:41 ID:dzDkq8yS
>>847 コピペうざ。
被害者の家族がやってたら笑えるけどなw
最近糞女系のニュースが多いな。
buffer 2,160,40
font "MS ゴシック",40
randomize
wx=dispx-640/2 : wy=dispy-480/2
screen 0,640,480,0,wx,wy
a=0 : b=1
repeat
rnd x,640-120 : rnd y,480-40
gosub *aaa
gmode 3,120,40,a
a+=b
if (a>256)|(a<0) : b=-b
pos x,y : gcopy 2
await 0
loop
*aaa
gsel 2
rnd red,256 : rnd green,256 : rnd blue,256
color red,green,blue
pos 0,0 : mes "(・∀・)"
gsel 0
return
851 :
名前は開発中のものです。:04/02/22 17:57 ID:AOe5vWNd
>>850
動作確認いたしました
sage
みんなセーブデータの暗号化ってどうやってるんだ?
漏れはpeek~pokeで1バイトずつ変換してるんだが
他の方法はないか?
>>854 何か問題でもあるの?
俺は、peek~pokeで擬似乱数を加算してる。
お手軽な割に効果あり。
>>855 あるHSPゲー作者のHPにある掲示板を覗いたら
「セーブデータを書き換えてクリアしました。」
って書き込みがあったから。
ちゃんと暗号化はしてあるようなのだがな・・・。
>>856 保存形式にもよるが基本的にはpeekpokeで暗号化。
解読されにくくするようには多重に暗号化したり、暗号キーの範囲を増やす。
>>856 単純に
>>854の方法だけだとバイナリエディタとかで適当にいじられるから
チェックサムとか入れたほうが良いよ
859 :
856:04/02/23 02:18 ID:jCXtV7Es
数値配列で4バイトずつ暗号化したほうが速い
漏れはいまだに記号「^」の意味を知らないんだが、誰か教えてくれ。
sam=1000
dim x,sam
dim y,sam
dim vx,sam
dim vy,sam
wx=dispx-400/2 : wy=dispy-400/2
screen 0,400,400,0,wx,wy
randomize
repeat sam
rnd x.cnt,400
rnd y.cnt,400
rnd vx.cnt,10 : vx.cnt-=5 : if vx.cnt=0 : vx.cnt=-1
rnd vy.cnt,10 : vy.cnt-=5 : if vy.cnt=0 : vy.cnt=-1
loop
repeat
redraw 0
color 0,0,0 : boxf 0,0,400,400
color 255,255,255
repeat sam
x.cnt+=vx.cnt : if (x.cnt<0)|(x.cnt>400) : vx.cnt=-vx.cnt
y.cnt+=vy.cnt : if (y.cnt<0)|(y.cnt>400) : vy.cnt=-vy.cnt
pset x.cnt,y.cnt
loop
redraw 1
await 32
loop
なんか蚊柱みたいですな…
口嚢怪獣か?
>>863 気分が悪くなった
損害賠償を請求するから覚悟しておくように
スレが止まってしまった。
じゃあ再始動。
ネタがないからな。
ここに来てる人も、HSPでまじめにゲーム作ってるってわけじゃないんだろ?
あるかわからんけど、次回のコンテストに向けて大作作ってる人とかいるのか?
まじめかは判らんけどゲーム作ってます
HSPでアクションってつらくね?
そう言ってる漏れは、言語変えても無理だろうがな。
表示キャラの数抑えれば、表示速度はなんとかなりそ
ただキャラデザインとそのアニメ作りがメンドいよね~
HSPでゲーム作るときの最大の難関が絵なんだよな。
他の言語でもそうなんだろうけど。
HSPはプログラミングは簡単だからすぐ終わるのに
絵のほうは時間かかってちっとも作業が進まない。
ちまちまやってるけど。
>>874 2Dだったら処理速度の問題なんか全く無いんじゃ…。
そうでもなかったりする
そこそこのPCで、hspdxでバカでかい絵を含むスプライトを大量に出しても
FPS500くらい行ったけど…。
本気?
まあいいや、さがしとくYO。
よく考えたら諸般の事情によりソースはうpできんですわ。
exeなら良いけど。
絵動かしてるだけだから参考も何もないとは思うが。
つーか釣りかね。
>>878 よほどデカイのをたくさん出さなければ
大きさは速度にあまり関係ないでしょ
細かいのを数多く出すほうが目に見えて遅くなる
キャラ1000体だしても速度落ちず
10000体では遅くなりましたが意外と遅くならなかった
>>885 つーか、3000でも5体でも変わらなく遅いいんですけど
この速度では、イメージにあわにゃい、アスロンの1.4Gなんだけどにゃ
Pentium 400MHz相当以上のCPUがあれば
あとはグラフィックスガードに依存するんじゃない?
と言ってみるテスト。
Direct3DのAPI呼んでるだけだよね
なにで書こうが表示速度はいっしょじゃないの?
>>889 そうですか。。。
でも
>3000でも5体でも変わらなく遅い
ってのはカードの相性かと思っただけデス。
3000でも5体でも変わらなく遅いってのは流石におかしいだろ
遅いよ、ただ10000にするともっと遅くなる、てことは
この遅さがデフォルトなのかにゃ
32行目の数字箇所を変更すると数字に比例してキャラがはやく動くようになると思います
デフォルトの速さはこれで変更できるので、あとは何体表示すると遅くなりだしたか
その遅くなりだした付近がゲームに使える限界です。
DXなんか使ってないじゃん
それにDX使わないとグラフィックカード依存にはならない。
ほんとだ。標準命令しか使ってないじゃん。
CPU速度しか関係ないな。
で、これだとビデオメモリ転送の遅い環境ではかなり遅くなったりする。
早く動いても目が耐えれない
1ドット単位の移動でもっと高速にならないのかな?
当たり判定のないキャラをいくら動かしても意味はない。
シューティングで弾を3000個表示できるって思うバカが出でくるぞ。
>>897 やっぱり計算遅いですよねぇ。
当たり判定は色んな処理の中でも、重い方なんですかね?
俺の>763とかも間違ってないかも・・と思えました。
>>894 なんか良く分かりませんがすんませんでした。
やっぱりCPUが全てなんですね。標準命令の場合。
DirectX使えばいいのに
>>900 だねぇ。
俺もDirectX使ってないものは
まともに公開したこと無いなぁ。
一度作ったが、Dxでマウスカーソルの動かし方が解らんから それっきりサ
もとい、マウス入力でキャラの動かし方ネ
ん? これは標準命令ですね、まガンガレ~♪
dirlistで取得したファイル名一覧がソートに失敗している時があるんですが
なぜでしょうか?
べつにソートされてるわけじゃないから
908 :
名前は開発中のものです。:04/03/01 07:09 ID:hdDBJimq
初心者ですがHSPやるにあたって、どうやって覚えていけばいいんでしょうか?
いろんなサイトのサンプルつき講座のようなやつで勉強してるんですが、
言語についてはなんとなく理解できてきた程度で、よく分からないのが言語の順番
なのです。サンプル見ながら解説読んで、そのときは理解したような感じがする
んですが、どの講座も、少し複雑になってくるとサンプルにいつの間にか知らない
言語が入ってたり、特に順番が変わってたりして分かりにくいです。その辺を
分かりやすく説明している本、サイトなどないでしょうか。お勧めとかあったら
よろしくお願いします。
それとあと、904さんのゲームやらせてもらいましたが、ここまでできるように
なるにはやっぱり何年もかかるのでしょうか?
本や解説サイトなんかアテにしないで、やって面白いと思うことをやればいい。
ヘルプ見ながら自分で考えるのが一番だ
>>908 HSPマニュアル総合インデックスに「初心者の
ためのHSP入門」というのがあるので、やって
みるといいよ。大して時間もかからないから。
Step-5より引用
>5. スクリプトに旗を立てよう
>
>スクリプトは命令の集まりで、1行目から順番に
>実行されていくという ことはわかりましたよね。
>「stop」という命令で実行を停止することも。 今
>度はそれだけではなく、プログラムの流れを制
>御する命令を覚えまし ょう。
という風に、基本的なことをやさしく解説してある。
904です
>>908 あのゲームは、HSPで初めて作ったゲームです
使っている命令も基本的な命令10個ぐらいだと思います
今年に入ってからHSPと知り合って、仕事の休みに
ちまちま遊んでおります
ゲームのソース見れるようにUPしなおしときました
言語の順番なんかぐちゃぐちゃでもゲームは出来ると思います
gosubとloopの使い方に苦労しました
ボタン命令は便利なのですが、gosub loop中にボタンで制御が飛んでしまうと
エラーが少したまり32回溜まると強制終了してしまいます
ネストが深すぎます?
最初は何の事かわからなんだ。
ボタン命令使ってゲーム作るときはgotoをなるべく使うようにしたほうが良いと思います
loopはゼッタイブレイク命令で抜けないと
またこれネストが深すぎます。
|-`) .。oO(論理的思考のできない香具師は大変なんだな…)
>>913 はじめはこんなもんだろう。安易に質問するのは問題かもしれんが。
つーか、ここで彼を一流のHSP使い(プログラマとしてはダメ人間)に育て上げよう。
昔(2.55の頃)ためしたときには、gosubで32くらい、loopだと15くらいネストが深くなるとエラーが出ました。
2.6でどう変わったのか、モジュールを使った場合にどうなるのか知ってる人は教えてくれると助かります。
(もっともそんな深いネストは滅多に作らないし、最近ではそのあたりは全部モジュールにしてしまってるからなおさら必要ではないのだけれど。)
そもそもgosubの仕組みがわかってないんじゃないかな?
gosub命令ってのはreturnでその場所に簡単に戻れる便利な命令だが
戻る場所を覚えておかねばならない(覚えておく領域が消費される)。
で、戻った時にそれを忘れる(覚えておく領域が復活する)。
それを覚えている領域はスタックエリアと呼ばれるのだが
HSPの場合は詳しくはどうなっているのか知らないが、あまり多く用意されていない。
だから戻らないままgosubで飛ばしすぎると、その領域がなくなってしまい
「ネストが深すぎます」になるわけだ。
つーか32も深くして大丈夫だったんだ。リファレンスでは10ぐらいとか書いてあったような気がしたが。
HSPを2年半やってるのですが、物覚えが悪いせいなのか、まだマトモなものが作れません。
特にDirectXまわりが難しく、なかなか覚えられないです。
DirectXを覚えていくコツなどありましたら、ご伝授お願いします。
>>917 どのプラグインを使うかでかなり違うと思われ。
いろいろ試して自分にあったやつを探したほうがいいよ。
俺はHGIMG、HSPDX、ZGPを使ってみたけど
HSPDXあたりが一番簡単だと思う。
最近、HMMもDirectDraw使えるって知ったんだけど使ってみた人いる?
色減算・加算とかαブレンドも使えるし、2Dなら最強かも。
2DならZGPも簡単だと思うけどな。
HMMのDirectDraw機能は命令が標準命令準拠だから
一番扱いが簡単といえば簡単なんだが
アルファブレンドがかなり遅いんで、やめといたほうがいいよ。
お手軽にいくならHSPDXかHSPDXα、
色々やってみたいなら敷居は高いがZGPがいいと思う。
HSPDXαって、ウィンドウモードだとうまく60FPSに出来ないんだが
うちだけか?
垂直同期はウィンドウモードでは使えない(DirectXがそういう仕様)
自前でタイミングとって60FPSにしないといけないんだが、
標準命令のawaitだとタイマ精度が悪いのか60FPSにできないね。
もっと精度の良いタイマーが使えるプラグインがあった気がする。
>>921 俺+α使ってます。
ウインドウモードでもes_syncの引数でウェイトとれますよ。
ちなみに待ち時間は俺のマシンの場合、
フレーム毎に14msと15msを繰り返したら
ちょうど60FPSぐらいになりました。
っていうか今はフルスクリーン&垂直同期しか使ってないですけど・・・。
es_syncの精度はawaitと同じだから、それでは意味がない。
フレームレートでゲームの動作速度が変わるようなプログラムって一般的なのか?
時間積分を使いなさい
めんどくさいよ
>>924 そうなんですか?
俺の環境では違いましたよ。
awaitは1~16msまで待ち時間同じ(この時点で意味不明ですけど
+αのes_syncは4ms以上であれば1ms毎にFPSが変わりましたよ?
1+1=2 じゃないと思います
だって 2+2=4 だし、
3+3=6 じゃないですか
666のような事がしたくて調べてみたら、
インデックスソートをするのがいいと聞きました。
情報が少なくてインデックスソートについて良く分かりません。
詳しく分かるサイトがあれば教えて下さい。
ガミラスに下品な男は不要だ
937 :
:04/03/03 07:55 ID:Pu+RbEta
a
938 :
sage:04/03/03 07:56 ID:Pu+RbEta
a
screen 0,640,480,4,200,200
buffer 2 : picload"sample1.bmp"
color 0,0,0
boxf 0,0,640,480
px=320 : py=240
*main
repeat
cls 0
redraw 0
pos px,py
gcopy 2,0,0,64,64
goto *move
redraw 1
await 1
loop
*move stick key
if key=1 : px=px-10 : gosub
if key=2 : px=py-10 : gosu
if key=4 : px=px+10 : gosub
if key=8 : px=py+10 : gosub
これって、どこが間違ってるの??
画面が一瞬で消えるんだけど。。
#define X_SIZE 300
#define Y_SIZE 300
screen 0,640,480,4,200,200
buffer 2 : picload "sample1.bmp"
gsel 0
color 0,0,0
boxf 0,0,640,480
px=320 : py=240
*main
repeat
;cls 0
redraw 0
_px = px : _py = py;
boxf _px, _py, _px+X_SIZE, _py+Y_SIZE;
gosub *move
title "" + px + ":" + py
pos px,py
gcopy 2,0,0,300,300
redraw 1
await 30
loop
*move
stick key,15
if key&1 : px=px-10
if key&2 : py=py-10
if key&4 : px=px+10
if key&8 : py=py+10
return
>>939 cls いらね、別の画面コピーするよろし
942 :
929:04/03/03 16:25 ID:dHk8linI
ソートしてスプライト№を変える時、
es_clearで全て削除してes_setで登録し直そうとしたのですが
うまくいきません。なぜでしょうか?
知るか
>>942 ソースを晒さない限り有効なアドバイスは得られないと思われ
945 :
Age.P.Hukai ◆hsp/8n/.as :04/03/03 22:40 ID:CO0cpXnz
こんな所にHSPスレが!
すげートリップだな
(゚Д゚)ハァ?
「ネストが深杉ます」てどういう意味ですか??
「ヴァカなコード書いてんじゃねぇよ、低脳」という意味
漏れもbuttonとモジュールは相性が悪すぎると感じてる。
>>949 よくあるなのは loop から gosub などで飛び、うまく戻れてない場合に起きますね
空回りってやつだ、慣れるまでは どこで何をしているのかを わかり易く組んだほうが楽ヨ
>>950 こんなエラーメッセージがあったらオモロイネ
screen 0,400,300:dialog "「ヴァカなコード書いてんじゃねぇよ、低脳」"
やる気が出ていいかも
>>955 それはコイツだろ!
779 名前:にんにん[sage] 投稿日:04/02/29 13:06
うわあああああああああああああああああああああああああああああああああああああああああああああ線g組むそうでムカついてコントローラーで液晶テレビ激はああああああああああああああああああああああああああ
781 名前:にんにん[sage] 投稿日:04/02/29 13:08
せっかくの12万円のテレビがああああああああアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアア
863 名前:にんにん[sage] 投稿日:04/02/29 13:37
ttp://big.freett.com/nonotehe/tv.JPG パンチ3発で死んだ悲惨なカスTV
buttonだけがHSPの中で例外的にイベントドリブンだからね…
ボタンを押してラベルにジャンプするタイミングがawait/wait/stopの時だってことを
ドキュメントに明記して欲しいな。そうじゃないとHSPやり始めの人はawait/waitの使いどころが
わかんないだろうし。というか、それを知ってる人って案外少なかったりしない?
958 :
Aの人:04/03/04 21:21 ID:YUVPaGxF
ExForceのシェア版使ってる人っていますか?
いたら感想キボン
変な質問かもしれませんがすみません
モジュール命令・・・って、ありますよね。
あれって、モジュールに入る前の変数などは、引き継がせることはできないのでしょうか。
やはり、bsaveなどを使わなければいけないのでしょうか。
>>959 #module "sage"
#deffunc func1
print a@
a = "test2"
return
#global
a = "test"
func1
print a@sage
stop
グローバル変数名の最後に@を付ければモジュール内からでもアクセスできる。
逆にモジュール外でもローカル変数名@モジュール名とすることでモジュール内の変数にアクセス可能
>>960 ありがとうございます
某所でアクションを作ろうとしているものです。
これからも質問するかもしれませんのでよろしくお願いします。
cnt て何ですか?
定数かもしれない
#undef cnt
#define cnt 0
repeat 10
mes cnt
loop
stop
HSPではcntは結構特殊な使い方をする。
ただの変数としても使えるけどな。
詳しくは命令リファレンスでもみろや。
>>968 命令リファレンスを読めるだけの知能があるかどうかチェックするために
垂れ餡がしかけたブービートラップということでFA?
昔のCPUにはレジスタごとに役割があったのさ。
そこからきてたりして。
>>957様
某所でアクションRPGを製作しようと企んでいる者です
buttonの飛ぶタイミングをご伝授していただき誠にありがとうございます
このスレで初めて有益な知識を得たように思います
同じくドキュメントに記載してないとHPSの存在意義が
うすれちゃう
>HPSの存在意義
H S P !
>>973 972の投稿を終えた瞬間なにか違和感を感じた
うすれちゃう ×
うすれちゃうの ○
今日の作業中、マップチップ表示はスプライト機能を
使おうと思った。
975 :
名前は開発中のものです。:04/03/06 01:35 ID:lr/N86BU
次スレは980が立ててね。
#include "hspdxa.as"
es_ini
es_screen 640,480, 16
buffer 2
picload "walksample4.bmp"
efx_buffer 0
efx_size 72,96
;efxパターンとアニメーションの設定
efx_pat 0, 0,0, 8 : efx_pat 1, 0,96, 8
efx_link 1, 0
;スプライトを定義
efx_set 1, 120,120, 0
repeat
es_sync : await 0
es_cls
es_draw
getkey a, 27 : if a = 1 : end
loop
ちょっと質問していいですか?hspda+αを使おうと思いましてサンプル改造して上のスクリプト試したんですけど
画像がうまく表示されないんですよ。使ってるbmp画像は576×1248でVixで256色に落としてます。
使ってるパソコンには一応、Radeon9600積んでるんですけど。hspdxならちゃんと表示されるんですけどね・・。
どなたか分かる方いませんでしょうか?
>>976 walksample4.bmpのサイズはどうなってる?
buffer 2 , (2の乗数) , (2の乗数)
picload "walksample4.bmp" , 1
でやってみ。
yのサイズは2の乗数じゃなくてもいいかも。
>976
現象とスクリプトから推測するに
576×1248の画像サイズに合わせた
バッファなんか作るからぐちゃぐちゃになる。
説明書に書いてある通りバッファサイズは2の累乗の正方形に汁。
だが2048×2048のバッファ作るのは強引すぎるので
素直に画像サイズを512×512や1024×1024辺りに変更汁。
979 :
977:04/03/07 04:51 ID:4/tcCoC4
あら、画像のサイズ書いてあったのね。見落としてた。
この大きさならバッファのサイズより
978の書いてるように画像のサイズ変えたほうがよさげだな。
980 :
976:04/03/07 09:31 ID:O0aVYJQP
>>977-979 ありがとうございます。画像のサイズを変えて試してみたいと思います。
αブレンド使いたいんで、何とかhspda+α使える様に努力します。
980取ってしまったんだが、ISPがぷららなんで新スレ立てられない・・。
すまんが誰かよろしく。
最近、HSP始めた者なんだが、初歩の初歩のキャラを動かす場面で
screen 0,640,480,4,20,20
buffer 2 : picload"jiki.bmp"
jx=320 : jy=400
*main
repeat
redraw 0
gosub *jiki
await 1
redraw 1
loop
自機が伸びるようになるのを防ぎたいんだけど、入れると画面が真っ黒なだけに
なるんだが、入れる場所間違ってる?
redraw 0 のすぐ後に、screen 0,640,480,4,20,20 : color 0,0,0 : boxf て
入れると動く描写はされるんだけど、ちらつく。
どなたか教えて下さい。
この場合、redraw 0 の後にcolor 0,0,0:boxf入れるんだよね?
982 :
980:04/03/07 10:13 ID:yOzi1OZK
>>981 redraw 0でウィンドウの再描画を抑制
移動させるオブジェクトを消去(背景固定の場合) or 背景再描画(背景そのものが動いている場合)
オブジェクトを描画
redraw 1でウィンドウを再描画させる
ウェイト
あと、
・await 1なんてやると他のアプリの動作に支障が出るからやめれ。
・グラフィック周りの命令は速度が遅いので描画範囲は最小限に。
・screenはウィンドウの初期化なので初期化以外に使うな。
clsはウィンドウ上のコントロールも破棄するのでコントロールを破棄する必要がない限り使うな。
画面消去だけならboxfでやれ。
984 :
981:04/03/07 11:18 ID:PlwGrgjC
ありがとう。やっぱりそういうのあるんですね。
*MAIN
repeat
redraw 0
color 0,0,0 : boxf
gosub *jiki
wait 5
redraw 1
loop
こんな感じにしてみたけど、画面が真っ黒になるだけなんです。
上から順に読んでいくので、これで間違ってないですよね?
boxf にして関して、何か注意することとかありますか?
例えば、命令的には間違ってないけど、こういう使い方すると動作
しなくなるとか、なにかあったらよろしくお願いします。
>>984 *jiki も書かないと誰も答えられないと思うぞ。
まあ、恐らく単純にバッファからgcopyしてるだけだろうが…
boxf を引数省略して使うと、画面全体を塗りつぶすっていう意味なのは知ってるよな?
キャラクター画像のサイズが 4の倍数×4の倍数 になってるかもチェック。
>>984 おかしいのはサブルーチン *jiki だと思われ。
boxfは画面全体ではなく
boxf jx , jy , jx+xsize-1 , jy+ysize-1
って感じに必要な部分だけ塗りつぶしたほうがいい。
あと、どんなゲーム目指してるかかわからんが、wait 5はやりすぎ。
理論上はawait 16ぐらいで60FPSになる。
HSPの標準描画は遅いので60FPS出ないだろうけど。
>>984 redraw 0
wait 5
redraw 1
↑だとウェイト中にWindows側の再描画イベント(WM_PAINT)が来たら画面が変になるぞ
988 :
981:04/03/07 13:07 ID:PlwGrgjC
screen 0,640,480,4,20,20
buffer 2 : picload"jiki1.bmp"
jx=320 : jy=240
*main
repeat
redraw 0
color 0,0,0 : boxf
gosub *jiki
await 3
redraw 1
loop
*jiki
gosub *jikimove
gsel 0,1
pos jx,jy
gcopy 2,0,0,64,64
return
*jikimove
stick key,15
if key=1 : jx=jx-3
if key=2 : jy=jy-3
if key=4 : jx=jx+3
if key=8 : jy=jy+3
if key=3 : jx=jx-3 : jy=jy-3
if key=6 : jx=jx+3 : jy=jy-3
if key=9 : jx=jx-3 : jy=jy+3
if key=12 : jx=jx+3 : jy=jy+3
return
とりあえずシューティングゲームから作ろうと思って、まずキャラを動かし
たいんです。それで、redraw 0 の下にscreenとboxf入れればちゃんと動く
動作はするんですけど、ちらつきがあって、boxfだけだとキャラがでないんです
screen 0,640,480,4,20,20
buffer 2 : picload "sample1.bmp"
jx=320 : jy=240
gsel 0
*main
repeat
redraw 0
color 0,0,0 : boxf
gosub *jiki
redraw 1
await 15
loop
*jiki
gosub *jikimove
pos jx,jy
gcopy 2,0,0,120,120
return
*jikimove
stick key,15
if key=1 : jx=jx-3
if key=2 : jy=jy-3
if key=4 : jx=jx+3
if key=8 : jy=jy+3
if key=3 : jx=jx-3 : jy=jy-3
if key=6 : jx=jx+3 : jy=jy-3
if key=9 : jx=jx-3 : jy=jy+3
if key=12 : jx=jx+3 : jy=jy+3
return
HSP2.6の標準命令で登録されたスプライトを回転させるには
どのような方法がありますでしょうか?
リファレンスには載っていませんでした。
自分でスクリプトを組む以外の方法はありますでしょうか?
☆ チン マチクタビレタ~
マチクタビレタ~
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 次スレまだ~?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| 愛媛みかん |/
992 :
981:04/03/07 15:40 ID:PlwGrgjC
何度もありがとうございます。
ちゃんと動くようになりました。この場合だとgselの場所が悪かったと言うこと
なんですかね?
書く場所までは詳しく載ってなかったりするので助かりました。ほんとにありがとう。
埋め
995 :
Age.P.Hukai ◆hsp/8n/.as :04/03/07 21:36 ID:95KEsBTX
埋
ま
り
ま
す
せん
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。