HSP - Hot Soup Processor [13]
( ,,,)
.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 歴代スレ、関連サイトは
>>2-4 あたり
ヽ ──── '
ONION software (本家)
http://www.onionsoft.net/
Q&A Q HSPで○○は作れますか? A あなたの努力と根気次第です。じゃんけんからRPGまで、 ありとあらゆるゲームが作成可能です。 Q 構造体は使えますか? A 使えません。但し、モジュール変数という型が用意されています。 Windows API を呼び出す際は、構造体の変わりに配列を使用します。 Q ポインタはありますか? A 文法上では正式にサポートされていませんが、 varptr などの関数で変数のポインタを取得できます。
1乙
mes"乙"
end mes "乙"
mes "建前" stop mes "本音"
マウスが自動で動くソフトを作りたいんですが 動くときはmouseという命令を使って、クリックのときはaplkeyというやつでいいんでしょうか?
990 名前:名前は開発中のものです。[sage] 投稿日:2006/08/08(火) 11:30:00 ID:Jg/je3ZN クリックをさせる命令がわかりません 教えてください、お願いします これお前だろ?
出力端子にサーボモータつなげて、それでマウスのボタン押せば良いんじゃね?
確かにソフトだけでマウス自動で動かせと言われても無理な話だ カーソルならまだしも
16 :
11 :2006/08/09(水) 21:07:50 ID:GYLGEhzl
>>12 そうだけど、そのあとちゃんとした回答がもらえなかったんでお願いします
17 :
11 :2006/08/09(水) 21:08:43 ID:GYLGEhzl
キーボードが自動で押されるにはどうしたらいいのですか?
実際にキーがへこんで、カタカタと音がする方法でお願いします。
「mes命令でユーザーに頼む」とかふざけたな回答はやめて下さい!!ちゃんと考えてください!!!1111
>>11 google "mouse_event user32"
なんかさあ・・・にょろーんって感じだよなこのスレ
>>18 電気信号で物理的にキーが動くキーボードを作れ
ついでに自走マウスも作れ
22 :
11 :2006/08/09(水) 23:50:18 ID:GYLGEhzl
>>21 わかりません!!!!作り方をまるまる教えてくださいっじゃなかった、作って送ってください!!!
タダで!!!
にょろーん
あからさまなニセモンだなあ… もっとうまくやれよw
ちゅるやさんじゃね?
ハルヒ厨うざいな
ほっときゃ消えてく話題に 過敏に反応するのもどうかと思うけどな
ジャンアリカ「そうにょろよ〜」
貧乏姉妹物語が始まるまでHSPやってたのはいいが、眠れません。脳活発化www
HSPファンブック、120ページしかないけど内容どうなんだろ。
ないよ
逆引きはどう?
ないよう
いやゴメン、 スレストップさせるつもりなんかなかったんだ
37 :
名前は開発中のものです。 :2006/08/12(土) 20:03:47 ID:n4hTuc5u
HSPの関数リファレンスサイトとかありませんか?
38 :
37 :2006/08/12(土) 20:10:24 ID:n4hTuc5u
ゲーム作ろうと思ったんですが、適当にサイトまわったらある程度解決しました。 本はたくさんあるのに、リファサイト無いのかな。 リファサイトで人気→本出版 のほうが儲かるような気がするけれど…。
ヘルプでいいじゃん
ただで見れるネットより有料の本のほうが情報があるのは当然なことでしょう
41 :
37 :2006/08/12(土) 20:53:23 ID:n4hTuc5u
(´-`).。oO(外部サイトってリファレンスと呼んでいいのか・・?)
(´A`).。oO(リファレンス、参照。取扱説明書を転載するような感じ?関数リストとかの方が良さげ。つかヘルプとF1で別に良くね?)
(´-`).。oO(標準ヘルプ以上のリファレンスをどう書けというのだろう
ヘルプの不満点としては、引数表記がp1,p2...ってことぐらいだな。
リファレンスよりF1のほうが関数も載ってて便利
話がかみ合ってるようで、いまいちかみ合ってないことからー 37はリファレンスの意味を取り違えていると推測
質問があります。 //UnitMapPic #define global UMP_MOVABLE0; 行動可能 #define global UMP_UNMOVABLE1; 行動不可能 #define global UMP_SELECTED2; 選択状態 で数値を定義したのですが、 PlayerUnitMapPic(PU_SHALON, UMP_MOVABLE) = "resource/picture/unit_mappic_shalon00.bmp"; PlayerUnitMapPic(PU_SHALON, UMP_UNMOVABLE) = "resource/picture/unit_mappic_shalon01.bmp"; PlayerUnitMapPic(PU_SHALON, UMP_SELECTED) = "resource/picture/unit_mappic_shalon02.bmp"; でうまく初期化されずに、 UMP_MOVABLE=UMP_UNMOVABLE = UMP_SELECTED = 0 となってしまいます。 定義が何故認識されないのでしょうか?
空気嫁ってのとスレ違いだと言われるのはわかってる。 でも質問させてくれ gfadeを使ってフェードインするやつを作りたいんだがよくわかんないんだ ググってみたんだが出てこないんだよ(´・ω・`) もしかしてgfadeを使おうとする時点で俺はダメなのか?
>>51 迅速なレスありがとうございます。
書き込みの際に消えてしまっていますが、
UMP_MOVABLEと0、UMP_UNMOVABLEと1、
UMP_SELECTEDと2の間にはそれぞれ半角スペースが入ってます。
それでもダメでしょうか・・・?
>>50 >フルカラー画面に対して、指定された領域を固定色フェードを行ないます。
>この命令は、時間ごとにフェードレベルを変えていくことになって、
フルカラー限定
指定領域をcolorで指定されている色にフェードレベル分近づける
60フレームで黒画面からフェードインするなら
color 0,0,0
repeat 60
redraw 0
gfade (255-(255/60)*cnt),0,0
wait 1
redraw 1
loop
gfade 0,0,0
こんな感じ
あ、フェードインだからインさせる絵は常に表示させる必要があった #include "hsp3util.as" repeat 60 redraw 0 repeat 5*30 pos (cnt\5)*16*9,(cnt/5)*16:color cnt*25,((cnt\3)*10)+100,255-cnt*10:mes "フェードインテスト" loop color 0,0,0 gfade (255-(255/60)*cnt),0,0 wait 1 redraw 1 loop gfade 0,0,0
>>52 じゃ ; 行動可能 とかのコメント消してみたら
>>52 >それでもダメでしょうか・・・?
いや、それなら全然問題ない
いい事教えてやろう
マクロ行にコメント入れると誤動作する時がある
行動可能
の後にスペースでもいいから入れてみ
>>49 #define文の行末の ; 以降のコメント文というか「能」の文字を削除すると動く。
perlで日本語処理するときなんかに出てくる問題と同じだと思う。
>>55-57 コメント消してみたら上手くいきました。
ありがとうございましたm(_ _)m
>>53-54 dクス!
悩んでたものが解消できてよかったよ
なんか俺のやつフェードレベルの減算がうまくできてなかったみたい
コンテストの国旗掲揚の奴に色々アブナそうな匂いが漂っていてワロタ
63 :
名前は開発中のものです。 :2006/08/14(月) 23:49:35 ID:4s4ggp14
HSPプログラムコンテストって複数人の応募おKですか? 応募規定に書いてない。。。OKだよね?
OKってことだよね? 考えてみたらゲームは1人で作るほうが難しいか。。。 いやね、経歴が浅いもので。 ありがとうございました。
67 :
63 :2006/08/15(火) 00:23:56 ID:SMKOCggv
なるほど
68 :
63 :2006/08/15(火) 00:26:38 ID:SMKOCggv
エンディングの製作協力が増えるな。
>>63 365人で作れば景品でうまい棒があたった時、一人1本ずつ分けられる。
70 :
63 :2006/08/15(火) 01:47:26 ID:SMKOCggv
うまい棒1年分w いいね〜、じゃあいつかスレ立てて(立てなくても)協力してもおうかな〜 みんな名前のせるから。
HSPって本当に初期化周りを楽にしただけなんだね。 特性上しょうがないのかもしれないけど、KEY_DOWN, KEY_UP位は欲しいよね。 これだと初心者がRPGとか創るならそれなりのノウハウ無いと無理じゃないか? と、ろくにプラグインも調べてない初心者が言ってみる。
73 :
名前は開発中のものです。 :2006/08/15(火) 04:06:28 ID:hvjoqBLY
>>72 初心者はstickかgetkeyで十分だろ。
と、初心者がいってみる
ああ、stickてdownした瞬間にしかオンにならんのね。。
>>72 は完全なる勘違いでした。スマソ。
75 :
名前は開発中のものです。 :2006/08/15(火) 11:33:22 ID:NmeIJjfq
key_down/key_upって何?
こんなのもある oncmd goto *key_down,$100 oncmd goto *key_up,$101 stop *key_down mes "key_down" stop *key_up mes "key_up" stop
キーを上げ/下げっぱなしにすると推測。普通にあるよな? ノウハウが無いとダメだって、そのノウハウはいつ身につくんだよ。 とHSPとBASICしかやったことがない漏れが言ってみる 初期化が楽って、窓作りとか変数定義が無いから?
キーが押された瞬間と離された瞬間を検知したいってことだと推測
>>76 だと押しっぱなしでも反応するのでこんな感じで
*key_down
if lparam >> 30 = 0{
mes "key_down" + wparam
}
stop
*key_up
mes "key_up" + wparam
stop
でも反応がちょっと甘い気がするので
stickで取得できないキーなら
リピートしつつgetkeyで前回どれが押されたか
チェックしてったほうがいい気が
oncmdをgoto→stopじゃなくて gosub→returnにしたらちゃんと反応するっぽい
bsaveで存在しないファイルにセーブしようとするとエラーが起きるんですが、 ファイルが無い場合は自動で作成してくれるようにするにはどうすればいいんでしょうか?
81 :
80 :2006/08/15(火) 21:02:52 ID:gKsnFAaM
すいません、自己解決しました オフセットの値を0にしてたのがだめだったみたいです 書かなきゃおkでした
>>80 オフセット指定時は、エラーチェックとして予めファイルの存在とファイルサイズをチェックしる。
通常の上書きだったら問題ないはず。
あ、スマソ。
84 :
80 :2006/08/15(火) 21:19:03 ID:gKsnFAaM
85 :
80 :2006/08/15(火) 22:39:13 ID:XddFPoDb
ついでにマウスを自動で動かす方法を教えてください
他人が便乗してやがるw
マウスの神経に電極さして無線LAN経由で信号を送れ
なにその動物実験
89 :
the342 :2006/08/16(水) 13:26:07 ID:UsRiIn2h
>>1 = 動物実験
if(
>>1 =あぼーん){
mes "you are an idiot hahahahahahaha"
}
>>89 漏れの勘違いかもしれんがanっていらなくね?
91 :
名前は開発中のものです。 :2006/08/16(水) 19:02:35 ID:cOr7ODKM
○質問があります。 HSPのスレにうんこ出たが書き込まれる不都合にかんしてですが、 うんこ出た厨乙という対処法は効き目が無いように思えます。 ヘルプを見ても見つかりませんでした。 よろしくお願いします。
荒らしはスルーが基本
ネタがねえな
>>91 せっかく釣られてやったのに反応が欲しいぜゴルァ
「うんこ出た」をNG汁
まーしたところで
得意げに"見えないレスがあるなぁ"とか"番号が飛ぶなぁ"とか言っちゃうんだろうな。
意味ナス
つかあのスレ役に立つの?
buttonで作ったオブジェクトを押せないようにしたいんですが どの命令をつかえばいいんでしょうか?
>>92 >>94 返信ありがとうございました。
荒らしだったのですね。
ブラウザが故障したのかと思ってました。
ひろゆきさんも人が悪いというか
スカトロ趣味があるといいますか
うんこを放置するんですよ。
うん、このスレはいいなぁ
コンテストの作品がなかなか増えてないな
>>95 押しても反応なしならフラグ付けて判定
押す事自体をさせたくないなら、素直にボタン消せ
いっその事ボタンを自分で作るってのも
102 :
95 :2006/08/17(木) 23:00:07 ID:sRambqVt
>>96 ヘルプ見たけど難しすぎて???でした・・・
>>100 なんていうかウィンドウの右上の最大化ボタンが押せないみたいに、
あるんだけど灰色っぽくなっててへっこまないのを作りたいんですが
HSPじゃ無理なんでしょうか?
>>102 >HSPじゃ無理なんでしょうか?
sendmsgってレス貰ったのに、「無理なんでしょうか?」だと?
「難しすぎて」ってなんだそりゃ?
>>102 簡単な方法を教えてやるよ。
「押せないボタンの画像」を表示する。
押す必要がある場合は、通常のボタンを配置する。以上。
>>102 お前の書き込みが間違ってるので直した。
正しくは↓だ!
>
>>96 >>100 >ヘルプ見たけど難しすぎて???でした・・・
>私じゃ無理なんでしょうか?
>>103 >「難しすぎて」ってなんだそりゃ?
まぁ、HSPしかやってないなら無理も無い
具体的な使い方はAPIの解説とか見ないと全然分からないだろう
メッセージIDなんてHSPのヘルプに載ってないし・・・
最初のうちは、ゲームのために自分がコンピュータにさせたいことと プログラム言語の命令がかみ合わなくて迷うもんさ。
>>104 簡単だけど本質を突いたいいレスだな。
理想を求めて出来ない難しいじゃ何も完成しない。
発想の転換とセカンドベストを選択する勇気も必要。
出来るやつってのは大抵背伸びせずにそのとき自分に出来る最善を尽くしてるんだ。
>出来るやつってのは大抵背伸びせずにそのとき自分に出来る最善を尽くしてるんだ。 趣味でしかプログラミングしてない奴の言いそうなことだ。
110 :
名前は開発中のものです。 :2006/08/18(金) 03:02:01 ID:rH/iJR96
多少背伸びして、新しい知識手に入れねえと、上達しねえよ。 と、中一から三年間HSPをやってる俺が言ってみる
まぁ、>95の場合は背伸びすらしようとしてないんだけどな。 「あぁ〜ん、ボクじゃ届かないから誰か代わりに取ってぇ」 #uselib "user32.dll" #func EnableWindow "EnableWindow" int, int button gosub "自分で", *sub button gosub "やれや", *sub gosub *sub stop *sub btn_stat ^=1 b=btn_stat & 1 EnableWindow objinfo (0, 2), b EnableWindow objinfo (1, 2), 1-b return
>>109 >趣味でしかプログラミングしてない奴の言いそうなことだ。
HSPやってる奴のほとんどが趣味だと思うが。
今は工房だろと
>出来るやつってのは大抵背伸びせずにそのとき自分に出来る最善を尽くしてるんだ。 このフレーズだけ見ると「?」だけど、言いたいこととしてはまぁ分かるかな。 大切なのは、最善を尽くすってのは自分の限界に挑戦することである、ということだね。 限界に挑戦するってことは、可能な限りの背伸びをするっていうことでもある。 死力を尽くしすらしないようだと、ロクなものは作れないし、成長も見込めない。
HSPはもっとお気軽だったはず。 だが、はっきり言って2chは初心者に容赦ない。本家行け本家。 人と関わるのが嫌なら 得ているヒントで検索することを覚えようね。これでキミも一人上手。
>>109 すまん、仕事でやってるからこそ出てくるフレーズなんだが。
さすがにHSPは使わないが。
背伸びするのは仕事の時間以外でやればいいよ。
帰ってからでも土日にでもやればいい。
仕事では出来ることをする。
出来るかどうかわからないことに挑むのこそむしろ趣味の話。
失敗すれば損失だけが残る。自己満足なんかくその役にも立たない。
出来ることの幅を増やすために普段から努力するのは当然だがな、
今まさにやらなければいけないことがあるときに背伸びする必要はない。
>>117 仕事は確かに完成させなきゃ話にならないけど、
趣味でも完成はさせないと、結局何も始まらないと思うな。
流れを無視して HSP3ってインストール版しかないんやね βはアーカイブ版あるみたいだけど レジストリアレルギーの俺には辛いな
初心者に容赦ないんじゃなくて 初心者であることに甘えて、まともに調べもせずに いい加減な質問する奴に容赦しないだけだ。
それを「教えてクソ」と呼びます。
>>120 ありがと
そんな間近にあったのか。
「その他のダウンロード」ってのは本体以外のユーティリティか何かだと思い込んでた。
メアドとか聞かれるしuzeeeeeeって思ってしまった。
ある程度までならヘルプだけで出来るから教えてクンは生まれないはずだが、 実際にはいる。ヘルプ読んでないか、読んでも理解できない奴だな 初心者よ、今は理解できなくてもいいから、とりあえずヘルプ全部嫁
今頃3.0を使い始めた俺。 自作関数作れるんだな。 mes menseki(x,y) みたいに命令の引数に関数も使えるようだし Cを勉強中だったけど投げ出したくなってきた…
関数定義時にvoidが使えないのが気に入らない 無くても別に問題はないが、明示したいのでコメントアウトしてる
>>95 はobj.asをインクルードして
objgray id, 0
とすれば簡単にできる。
質問です。 ソースが肥大化してきたので、#includeを使ってみたのですが、 どうもうまく動かなくなってしまいます。 #const定義、若しくはラベル名がソース全域に知れ渡っていない、 というのが原因かと思うのですが、何か良い解決方法、参考になるサイト等ありませんでしょうか?
>>128 ソースを晒せ。その原因と思った部分は自分で実験してみて違ったわけ?
C/C++での .h .cpp のようにソースを分ける上手な方法を知りたいのですが…。
>>128 プリプロセッサ命令が
先頭行から順番に処理されていくことを理解すれば、対処できると思うが。
途中の行を別ファイルに切り出した場合、元あった場所に#includeすれば良いだけ。
#const やら #defineやらは、実際に使う場面以前に、処理されてないとNG。
mes あたらしい定数
#const あたらしい定数 3
mes あたらしい定数
あと、下記の場合、a.hspのコンパイルは、*label_bが見つからないので通らないけど、
b.hsp側からのコンパイルは通る。
[a.hsp]
gosub *label_b
[b.hsp]
#include "a.hsp"
stop
*label_b
return
>>131 ご指南ありがとうございます。なんとかそこまではいきました。
ですが、例えば
[a.hsp]
*Draw
mes "Draw"
return;
[b.hsp]
#include "a.hsp"
*Main
gosub *Draw
gosub *Input
await(16.66)
gosub*Main
*Input
return;
このような場合だと、#includeした瞬間にa.hspのラベル*Drawが実行されます。
これを回避したいのですが、#deffunc以外に解決法は無いのでしょうか?
>>132 *Drawが実行されるのは当たり前だしそれはC/C++でも同じことだが?
>>133 ということはやはり*Drawは関数にするべきなのでしょうか?
C/C++ は定義されるだけだから、実行はされないな。 perl とかなら実行されるけど。 下のように gotoでファイルの末尾に移動すればいいと思うよ。 [a.hsp] goto END_OF_A *Draw mes "Draw" return *END_OF_A
素直にモジュールで区切って関数とかで呼び出せ ソースコードの量が多いなら、全部繋げてラベルにgoto/gosubするより間違いにくいと思うんだが
>>135 宣言・定義だけ書けば実行されないだろうが、実行文を書けば実行されるぞ。
>>132 bの末尾で#includeすりゃいいじゃん。#include自体は
ファイルのはじめでやらなきゃいけないなんてルール
ないんだから。
#deffuncで定義するときは呼び出し位置より前で
やらなきゃいけないけど。
個人的には>136のやり方がいいと思うよ。
>>132 [b.hsp]
goto *includezone_end
#include "a.hsp"
*includezone_end
*Main
自分しか読まないスクリならこれでもいんじゃね
140 :
名前は開発中のものです。 :2006/08/19(土) 22:01:31 ID:Dil2hFY6
俺としては、 [b.hsp] goto *@f #include "a.hsp" // 描画ルーチン *@ って書き方が一番好きだな
>>140 a.hspでローカルラベル使ってたら誤動作しないか
142 :
名前は開発中のものです。 :2006/08/19(土) 22:44:29 ID:Dil2hFY6
>>132 他の人も書いてるように
・#include "a.hsp" の位置を、b.hspの最後にする
・#include "a.hsp"前にgoto *Main してb.hspの流れを変える
のどちらかが、修正少なくて済む方法やろね。
分割前の、もとのスクリプトの流れがおかしいのだから
多少不細工な記述になるのはしゃない。
気に入らないなら、もとのスクリプトの流れから見直すべき。
>>134 >ということはやはり*Drawは関数にするべきなのでしょうか?
なんか誤解してそうなカンジがする発言だな…。
#global空間で#deffunc関数化しても、結局同じことになるんで注意。
マニュアルの「モジュール機能ガイド」(hsp30/docs/module.htm)参照のこと。
Cとか他の言語知ってるなら、普通にモジュール使った方が良いと思うがな。
145 :
132 :2006/08/20(日) 00:49:43 ID:j2TSf9MG
様々なアドバイス本当にありがとうございます。
#includeの位置を調整する方法でやってみることにします。
スクリプトエディタに定義ラベル一覧+ジャンプ機能があれば、
より使いやすくなるんですがねぇ・・・。
>>143 >分割前のもとのスクリプトの流れがおかしい
今までDrawとInputのループ以外使ったことが無いもので…、
キーワードだけでも教えていただけませんか?
>>145 >ラベル一覧+ジャンプ機能
[F11]キー押してみそ…?(「移動」を押さなならんのが不便だが。)
標準スクリプトエディタに不満があるなら、開発wikiで紹介されてる、
xyzzy + hsp-mode が割と良いよ。
タグジャンプ機能とか、複数ファイルをタブで管理できるので便利。
ただ、hsp-modeが2.61用なんで、HSP3.0に自力で対応させる必要があるし、
xyzzy自体もクセが強いんで、導入するまでに苦労すると思うけど。
つづきー 流れがおかしいちうのは、単純に、 *Draw 〜 *Main 〜 の順番で並んでるのを *Main 〜 *Draw 〜 にすれば、*Mainより先に*Drawが実行されることもないだろう、 というだけの話で。 それとは別の方法として、 もし現状で、*Mainで使ってる変数を、*Draw、*Inputルーチン側で 参照してないのなら、 #module *Draw 〜 *Input 〜 #global ; *Main 〜 という書き方ができるんで、 上記の #module〜#global までを別ファイル[h.hsp]とかに切り出して [main.hsp] #include "h.hsp" *main 〜 という、おそらくアナタの最初の希望に沿うような まとめ方ができますよ、と。
あ、ゴメン、>147に、多分ウソかいた。 「それとは別の方法として、」のサンプル部分、 #module #deffunc Func_Draw (*Draw 〜のルーチンの内容) #deffunc Func_Input (*Input 〜のルーチンの内容) #global ; *Main Func_Draw Func_Input が正しいかな? (;^ω^) 試してないから、まだあやしいな
モジュール空間に隔離すると変数が別々になるだけだから、関数定義して呼び出すなりしないと、隔離前と変わらん。 気がする。たぶん。確認してないから知らん
メインルーチンをファイルで分けちまって、 先に『#include』 したら駄目なんだっけか? #include "main.hsp" #include "a.hsp"
>>150 別にいいが、そのmainをincludeしてるのは何て呼べばいいのだろう
スクリプト インテグレータ
超メイン
完全体
親方様
156 :
名前は開発中のものです。 :2006/08/21(月) 20:01:47 ID:zp2jEXUz
a = "" lpoke a, 0, $00656761 mes a
スクリプトインテグレータにパック情報とかを付加したのを自動生成するツール作ったら 「プロジェクトファイルメーカ」として扱えるんじゃね!?
>>157 頑張ってくれ!!
完成したらうpキボンヌ
if命令と変数だけでゲーム創ってる俺は何組?
しらんわボケ
ひよこ組
163 :
名前は開発中のものです。 :2006/08/24(木) 18:47:03 ID:SiveHiTO
扇形はどう描けばいいのでしょうか
扇形の画像用意してそれを表示
>>163 ヒント:sin、cos、line、gsquare
dialog命令で扇形を描いてくれるようユーザーに頼む
167 :
名前は開発中のものです。 :2006/08/24(木) 22:00:00 ID:SiveHiTO
>>165 それだ!三角関数の存在がぶっとんでました。ありがとうごじあmす
buffer 1,100,50,0 circle 0,0,100,100,1 gsel 0 : gcopy 1,0,0,100,50
circle 0,0,100,100,1 pget:line 50,50,50
APIにそんな関数なかったっけ?
円型のゲージの作り方を俺に伝授して欲しい できればVPの必殺技ゲージみたいに幅を変えたりできると面白い
VPって何?
略すなよ ぜんぜん判らん
エイリアン vs. プレデター
略語がVPな言葉 ヴァルキリープロファイル ビジュアルペーシック ビジュアルファンプック ビジュアルパンド VIPPER ViceCity警察
VIPER PHASE 1じゃね?
Vottakuri Pantsu
あの。 こんな流れで こんなことを聞くのはどうかとも思うんですが、 思うように動かなかったり、バグがどうしても取れなかったり、 今のペースだと完成は2、3年後だなぁ、とかリアルに考えたりして、 作ってる途中で投げだしたくなる事が、誰しも経験あるかと思うんですが そういう時、皆はどんなふうにモチベーションを回復するんでしょうか? 今ものすごく挫けそうで、何かお聞かせ願えないかなと・・・
モチベーションだけにマスタベーションとか
>>179 プログラムを放置しPCから離れ、趣味のことをやったり、適度に運動したりして気分転換
突如プログラムをやりたくなるからその熱意を忘れないうちにダッシュでPCの前へ
趣味なんだから無理しないでマターリ他の事に浮気しながらやれ
2,3年もかかるようなやつ作ろうとしたらあかんよ というミもフタもないアドバイス
>>179 2,3年かかるような規模のものをHSPで作っちゃいかんよ
(HSP以外でも駄目だと思うけど)
HSPならせいぜい数百行のサラッとしたものにしとき。
バグ捕りに関しては漏れの経験上
90%以上がスペルミス
特に変数のスペルミス。
スペルミスして値が0になってる。
怪しい変数を「検索」「次を検索」で跳んでいくと…
あらら…スキップされる変数が…一文字違ってた!!
(1年以上放置してたバグがこれだった)
1回すべての変数のスペルを洗い直すのお奨め
自分の中で締め切りを決める。 それまでに出来なかったら、その作品は心を鬼にして没にする。 とりあえず例のコンテスト締め切りまでにカタチにしてみたらどうよ 2ヶ月でかたちにできなきゃ、たぶんひとりじゃ無理。
スペルミスならデバッグウィンドウの変数タブで見つかるだろ
スペルミスしないように 重要な変数&長い名前の変数はコピペしてる。
俺は問題が解決、処理の実装が進んでいくと 段々作ってる物に対して興味が薄れていく・・・ ここで、他に興味が沸くとそっちに・・・
>>185 もちろん最初から変数のスペルミスの可能性を頭に入れていたら
その方が早いよ
漏れの場合、変数の該当個所を捜して流れにおかしなところがないかチェックしていくと
偶然スペルミスを発見することが多い
おいおいこんなに豪快にスペルミスしててなんで気付かないんだ俺wwwみたいな
lとoは誤認の恐れがあるからなるべく使わないようにしてる t,e,w,kなどを多用する傾向にあるが、よく見かけるiは何故かほとんど使わない あと日本語をローマ字にしたものは基本か。これは慣れてるせいか間違えにくい。予約語とかぶらない点も良い
191 :
名前は開発中のものです。 :2006/08/26(土) 03:20:00 ID:FHxHYIGg
日本語をローマ字にしたものは、間違える可能性は低いが、 スクリプトを自分で見たとき、なんか汚く感じるから、使いたくないんだよなぁ
>>179 むしろ回復する必要があるのかどうか、が問題だ。趣味だろ?仕事でやってるわけじゃない
んだろ?スティーブン・キング原作、映画ダーク・ハーフにこんな名台詞がある。
「書けなくなったらどうすればいいか?書くしかない」
主人公はプロの小説家である。書きたくなくなっても仕事なんだから無理にでも書くしか
ないのだ。お前はタダでやってるんだろう?それを完成させたとしても、誰にもほめても
らえない、コンテストに出したらダメ出しレスが数個ついただけ、Vectorに登録したらあっと
いう間に順位がガンガン下がっていく、自サイトのアクセス数は相変わらずの閑古鳥サイト
ってなるかもしれないよ?すると、素人が趣味でやるモチベーションは「俺は今誰もやって
ないようなすごいことをやっている。これはなんとしてでも世に出さなければならない。
これが完成するまでは死ねねえ!」ってことちゃうの?でなきゃ2、3年もかけられないよ。
ぶっちゃけWindows以前の某PCでゲーム作って雑誌に載ったことがある。それはゲーム
の自動販売機タケルで販売されたし(賞金のみで印税とかないけどね)、今でもROMサイト
探しまくればダウンロードできる。オールマシン語(アセンブリ言語)で、2年くらいかかった
かな。あの時は「コナミならまだしも、素人でここまでできるのは俺しかいねえ!」って思って
た。今みたいに素人の秀作フリーソフトがバンバンある時代じゃなかったんだよ。そんな
でもないソフトなら、2、3年もかけられなかろうが1ヶ月でできるものでも途中で飽きて
放置しようが構わなくね?
>>183 だっからさあ!今追加した部分だけでもコードレビューしてから走らせろって!
>>184 え、なんで?趣味でやってるんだろ?なんで「心を鬼にして没にする」の?これだから
完璧主義者は。
>>190 そんなに神経質なのに日本語のローマ字表記か。その方が間違いやすいと思うが。
katsuoなのかkatuoかか、とか。
193 :
179 :2006/08/26(土) 07:40:50 ID:HcJ9dhDo
皆、助言ありがd。 まとめると、まずは 設定した期限内に出来るような、力量にあったものを作る事、 バグについては、イージーミスを誘発するような書き方自体に留意していく事。 作成中は、 ときにはPCを離れ適度に運動したりマスターベーションしたりして気分転換を図り ママーリとした姿勢でのぞむ事。 これらを頭において作成していきます。 でも、ここで助言をもらえたことが、一番やる気につながったような気がします。 みなさん、ありがとうございました。
194 :
名前は開発中のものです。 :2006/08/26(土) 12:17:55 ID:FHxHYIGg
キング牧師まで読んだ。 ローマ字使うと汚くなるってのはあるな。kazu++よりnum++の方がいい
数++ 妹旗=1 視認性も抜群でスペルミスも0
そして変換ミスに悩まされる
変数に漢字使えるんだΣ( ゚д゚)
( Д ) ゚ ゚
;//全角スペースすら変数にに使えるぜ ="へローワールド mes stop
わかりにくいなwwwww
ヘローワールド="へローワールド" mes ヘローワールド stop 分かりやすい…かも…?
=1 =20 mes + mes * mes - + stop
あぶり出し?
全角スペース単体だと使えないみたいだな。 「ま こ」とかだと使える つーか、本当に使えるとは思ってなかった。ヘルプで確認したらアルファベットか日本語って… おにーたま氏の愛国心に感動した。
初めて知った&すげ〜&ワラタwww #module #defcfunc 足し算 int かず,int カズ return かず+カズ #global goto *ラベル stop *ラベル mes 足し算(10,5) stop これ動くしwww
俺、前からしってたもんね!
#define 行け goto #define 止まれ stop #define 足す ++ は動くが #define 関数 #defcfunc #define 戻る return とかはエラーが出るな・・・ さすがに全部日本語にするのは無理かw
戻るの方はエラー出なかったよ
211 :
名前は開発中のものです。 :2006/08/27(日) 02:17:28 ID:5yKigVHb
#define 飛べ gosub #define 止まれ stop #define 戻れ return #define 繰り返せ(始まり) repeat #define 繰り返せ(終わり) loop #define 文字表示 mes #define 色変更 color #define タイトル title #define 画面 screen #define ランダム rnd 画面 0,300,200 タイトル "日本語" 色変更 255,0,0 文字表示 "うほっいい男" 繰り返せ(始まり) 10 飛べ *ラベル 文字表示 変数 繰り返せ(終わり) 止まれ *ラベル 色変更 ランダム(255),ランダム(255),ランダム(255) 変数 = ランダム(100) 戻れ
どこのぴゅう太だ
数字も漢数字を使うこだわりが欲しかったな
>>209 プリプロセッサ命令(#〜)の置換は、さすがに無理じゃね?
#define 飛べ gosub #define 止まれ stop #define 戻れ return #define 繰り返せ(始) repeat #define 繰り返せ(終) loop #define 文字表示 mes #define 色変更 color #define 画面文字 title #define 画面 screen #define 不定数 rnd #define 二百五十五 255 #define 百 100 #define 三 3 #define 二 2 #define 掛 * #define 零 0 #define 十 10 画面 0,百 掛 三,百 掛 二 画面文字 "日本語" 色変更 二百五十五,零,零 文字表示 "良男" 繰り返せ(始) 十 飛べ *旗 文字表示 変数 繰り返せ(終) 止まれ *旗 色変更 不定数(二百五十五),不定数(二百五十五),不定数(二百五十五) 変数 = 不定数(百) 戻れ
#defineが日本語になれば完璧なのにな
ライブラリ作れば
>>209 プリプロセッサはコンパイル時の指定だからたぶん無理だが、他は全部出来ると思うw
#define べ、別にあんたのためじゃないんだからね mes
#define ほえ〜 repeat
#define はにゃ〜ん loop
#define ちょ、ちょっと待ちなさいよ await
#define どこ行ってたのよ pos
#define 好き?嫌い? if
#define つんつん =
#define でれでれ +
#define おいてかないでぇ >
#const 馬鹿 10
#const おるすばん 16
#const らめぇぇえええ 464
#const はひっ 0
#const ひぎぃ 52
本当に違うんだからね="大好き!"
変態=はひっ:お兄ちゃん=はひっ
ほえ〜
どこ行ってたのよ 変態,お兄ちゃん
べ、別にあんたのためじゃないんだからね 本当に違うんだからね
お兄ちゃんでれでれつんつんおるすばん
好き?嫌い? お兄ちゃんおいてかないでらめぇぇえええ : 変態でれでれつんつんひぎぃ : お兄ちゃんつんつんはひっ
ちょ、ちょっと待ちなさいよ 馬鹿
はにゃ〜ん
これもありなのかなwwwwもうわけわかんねぇwww
HSPでも 萌え言語かw もとの視認性だかの問題が 解決するどころか、より厄介になっているな
>>205 おお。すまん。
2.61でやってた。
3以降だと全角スペース単体は無理なのか
しかし全角スペースは半角スペースと同じ扱いにして欲しいな 日本語のみで書いていくとき半角にするのメンドクサイ
>>210 モジュールの外で#defineしてたorz
>>216 >>221 激しく同意w
あと、
#define 壱 1
#define 零 0
#define 書け mes
書け 壱
書け 零
書け 壱零
こうすると壱零が新しい変数扱いになってしまうのも
なんとかできたらいいのにw
>>218 お兄ちゃんでれでれつんつんおるすばん
って続けて書くと一個の変数扱いになってエラーになるっぽい
本当に違うんだからね つんつん "大好き!"
変態 つんつん はひっ : お兄ちゃん つんつん はひっ
ほえ〜
どこ行ってたのよ 変態,お兄ちゃん
べ、別にあんたのためじゃないんだからね 本当に違うんだからね
お兄ちゃん でれでれ つんつん おるすばん
好き?嫌い? お兄ちゃん おいてかないでぇ らめぇぇえええ : 変態 でれでれ つんつん ひぎぃ : お兄ちゃん つんつん はひっ
ちょ、ちょっと待ちなさいよ 馬鹿
はにゃ〜ん
ちょっと変えつつ動くようにしてみた
そしてテラワロスwwww
225 :
名前は開発中のものです。 :2006/08/27(日) 16:50:44 ID:5yKigVHb
:も#defineできるみたいだな #define ☆ : 本当に違うんだからね つんつん "大好き!" 変態 つんつん はひっ ☆ お兄ちゃん つんつん はひっ ほえ〜 どこ行ってたのよ 変態,お兄ちゃん べ、別にあんたのためじゃないんだからね 本当に違うんだからね お兄ちゃん でれでれ つんつん おるすばん 好き?嫌い? お兄ちゃん おいてかないでぇ らめぇぇえええ : 変態 でれでれ つんつん ひぎぃ : お兄ちゃん つんつん はひっ ちょ、ちょっと待ちなさいよ 馬鹿 はにゃ〜ん
, . もできるな 半角スペースで空けて使わないと駄目だが #define べ、別にあんたのためじゃないんだからね mes #define どこ行ってたのよ pos #define のぉ . #define っでぇ , #define つんつん = 横位置 つんつん 30 っでぇ 300 どこ行ってたのよ 横位置 のぉ 1 っでぇ 100 べ、別にあんたのためじゃないんだからね "犬好き" stop
>>221 俺は日本語入力中でもスペースは半角に設定してる
シフト+スペースで全角
誰かこんな感じに組んでコンテストに出してみたら?wwww
というか、このスレの住民で作ればよくね? 2chのHSPスレ開発のソフトとかいいんじゃね?
>>227 全角入力中でもシフト押すと半角になるんやね
知らんかった。
でもスペースだけで半角ってのはどうやって設定してるのかしら
>>230 IMEとか日本語入力ソフトの設定をいじればできるよ
まさかこの板でそんな質問を聞くとは思わなかった。
サンクス。 IMEバーが何故かみあたらないので IMEとやらをCドライブ検索したらみつかった 実行ファイルを片っ端から起動したら詳細設定がみつかった。
全角萌え変数をCでやろうとしたら VCのコンパイラ通らないなかった。 Unicode 識別子は無理なんやね ちと残念
これはHSPの新たな?魅力だな これからはHSPの良い所は?と聞かれたら、初心者向けで簡単だけじゃなくて、日本語で書けるとでも言っておけ
つーか大昔から日本語使えたよな・・・
なんで今さら1ヶ月前のスレが上がってんだ? 自演か?w
ごばく?
いや、某所の話 関係ないが漏れのIDすげーw
・・・そう?
別に笑うつもりは無いから、 無理に誤魔化そうとしなくていいよ
そろそろ3.0から使い始めた世代とか出てきそう
ぬるぽ
>>244 ガッ
コンテストの投稿作品数が去年に比べて少ないな…
期間は残り半分だというのに。
ヘルプ実行ファイルがウィルスに犯されてるってアンチウィルスが警告するんだけど、 同じ症状出た人います? 対象ファイル: hsphelp\helpman.exe 検出ウィルス: Win-Trojan/Killwin.92672 一応、最新のアーカイブをHSPTV!からDLしてきたけどだめだった。 使っているアンチウィルスは、MyAntivirus V3ってやつ。 アンチウィルスで警告出たの初めてだから、よくわからなくて・・・
Win-Torojan.....................Torojan...........トロジャン.......... トロイじゃん ____ /_ノ ヽ_\ /( >) (<)\ /::::::⌒(__人__)⌒::::: \ | |r┬-/ | \ ` ̄'´ /
どこでもいっしょのトロじゃん
250 :
246 :2006/09/03(日) 22:10:07 ID:VZ9c6D/k
情報さんくすです
>>249 HSP起動中はウィルス監視OFFにするかー
対策済みバージョンでもDLなさい HSP HELP Browser 1.53a
>>249 ここを見ると、おにたまは高飛車だな。
ソフトメーカーに改善要求するなんて。
メーカー側にしてみれば、そんなの知ったことかって感じだし、
改善するならHSPの不具合を改善しろよって言いたいだろうな。
おにーたま「ぐぅ、さすがにキツいな」 めーかー「ひぎぃ!お、おにーたまぁ〜そんなのダメぇえ」 おにーたま「うるせぇ!」 メリメリメリ めーかー「ぁ゛あ゛あ゛あ゛あ゛!!!」
やっかいだよなあ、こんなの。 ・アンチウィルスソフトは各種ウィルス、トロイの木馬の実行ファイル(?)から一部分を 切り取ったものを定義ファイルとして持っている。 ・ディスク中を検索し、同じ部分を持ったアプリケーションに対して警告を出す。 こんなもんだろ?たぶん。つまり、HSPがたまたま同じ部分を持っていたわけだ。すると、 問題なのは切り出した部分が本当にそのウィルスあるいはトロイの木馬にしか含まれ 得ないユニークなものであるのか、結構多くのアプリケーションが含みうる割と一般的な ものなのかだ。たとえばそのトロイの木馬がVBランタイムを使っているとする。VBランタイム なんて多くのアプリケーションが使っている。もしアンチウィルスソフトメーカーがVBランタイム の部分を切り出してしまったとしたらあまりにもずさんだということになる。貴様らがHSPの 内部仕様が分からないがためにああでもないこうでもないと想像をめぐらせて悩まなければ ならないのと同じように、おにたまタソもまたアンチウィルスソフトの内部仕様が分からない ために悩まなければならない。 ただひとつ、はっきり言えることがある。貴様らのヘタレソフトに同じ現象が起こったとして メーカーに文句を言っても相手にされないだろう。HSPはそれくらいビッグになったってこ とさ。普通フリーソフトでそんな不具合が起こったってメーカーはそれこそ「知らねえよ」 だろう。だが相手はあのHSPだ。無視したら多くのHSPユーザーに反感を買うだろう。 つまり、HSPはお前らのクソゲーとは格が違うということだ。
>>252 お前バカでしょ?
実際に何も問題ないHSP側を修正しても
他で同じ問題が出る可能性があるだろ
何で一部ソフト会社の定義ファイルに合わせて問題ないアプリの修正しなきゃいけねーんだよ
仮にHSP側で対処を施しても、すでにたくさん出回ってるであろう hsp2c.hrtを使った実行ファイルにどうやって反映させるん?
ウィルス問題の為だけでCに移行する勉強をしている漏れ。 HSPで組んでた頃並にコーディングできるようになるのはいつのことやら… 3.0から関数メインで作り易いようになっているから しょっちゅうHSPに戻りたくなる
関数メインといえばHSPって何でわざわざ命令にして代入する変数を渡すんだ? 関数でいいだろ。沢山使って一つの変数を作るときとか面倒
pos rnd(ginfo_sizex),rnd(ginfo_sizey) とか pos rnd(ginfo(10)),rnd(ginfo(11)) みたいに引数に関数使えるから楽になったなぁ 以前だとかなり面倒だった
描画命令とかそのままでいいから代入する変数を引数に持つのは全て関数に変えてほしいなぁ まぁ自分で再定義すればいいだけなんだがな
>>255 馬鹿はお前だろ。
こんなに多くのアンチウィルスソフトでウィルスと検知されてしまうというのは、
ある意味、欠陥品だろ。
フリーだからその辺大目に見るが、これが市販品ならクレームもんだ。
おにたま自身フリーだから自分は直さないなんていうのは、怠慢のそしりを免れない。
しかも、出版物で印税を貰っているわけだから、フリー作者とも言いがたい。
だったら、おにたまも対応するようにすべき。
単に、ヘタレだから出来ないだけだろうが。
>>261 馬鹿か?
>おにたまも対応するようにすべき。
だから各アンチウイルスソフトに対応を求めたんだろうが。
アンチウイルスソフトはウイルスを駆除するソフト。
ウイルスではないソフトが誤検知されてしまうから対応してほしいとフィードバックしただけだ。
>こんなに多くのアンチウィルスソフトでウィルスと検知されてしまうというのは
>ある意味、欠陥品だろ。
逆だ。そのアンチウイルスソフトが欠陥品なんだよ。
理由は上に書いたが、アンチウイルスソフトはウイルスを検知するソフトだから。
263 :
名前は開発中のものです。 :2006/09/05(火) 03:48:34 ID:4sH+DOGI
>>261 何も問題ないコードを、ウイルスとして検出するのが
問題だってのが分からないのか・・・
同じコードがある他のソフトが出てきたら今度はどうすんだ?
定義ファイルに合わせてソフト開発しろとでも言う気か?
>フリーだからその辺大目に見るが、これが市販品ならクレームもんだ。
クレームに対応して対策を求めたんだろアホ?
それに市販品なら尚更アンチウイルス開発会社は
定義ファイルを修正するつーの
対応しないアンチウイルス開発会社は、HSP使用者に返金するって言ってるじゃん
HSP側が対応するべきならこんな事しねーだろ
ウィルスじゃないものをウィルスと誤認するアンチウィルスが問題だろ。 対策するしないは会社側の自由だが少なくともHSP側に責任はない。
3.0以降で作った分には問題ないんじゃなかったっけ?
3は別に問題ない。 >おにたま自身フリーだから自分は直さない 仮にHSP側が対策をしたとしてどうなるんですか? アンチウイルス ソフト側も対応しないと、ウイルスでもなんでもない誤反応実行 ファイル自体はネット上にずっと存在し続けることになりますよ。
どうみても261が釣りとしか思えないのは俺だけか。
アンチウィルスというより、アンチHSPですな
残念だけど、世の中には致命的に頭の悪い輩というものが、確実に存在するんだ。
まあ、アンチウィルスソフトについて、「変なプログラムを自動的に判定するツール」とでも思ってるんだろうね。 カワイソースネクスト
↑自動的に(予備的データなしで)判定するツール ってニュアンスで
もしかして内緒(ハート)でディレクトリ構造を送信するコードでも 入ってるのでは・・・なんつって どんなウイルスと同じだと判断されてるんでしょう。
HSPで作られたウィルスを対策したから…とかが理由なんだろうか
>>274 そうだよ。
中学生が作った簡単なトロイだけどね
ZGP使いとかは大変そうだな
HSPでDirectX使えますか
プラグインでありますた
HSPでXBOX360のゲームが作れるプラグインを作ろうと頑張っているのですが、 まずはどうやってMSに侵入すれば良いでしょう? わかりあmせん><
良い大学卒業して、技術を身につけてMSに入社すればいいと思うよ!
#include "XNA.dll"
282 :
細木数子 :2006/09/08(金) 20:00:53 ID:iJg4PSE8
人種差別キタス
私は火星人刑事(30)ッ!
285 :
名前は開発中のものです。 :2006/09/13(水) 11:23:10 ID:dQxNrjbM
hspで作ったゲームにネットランキング機能実装させるにはどうしたらいいんだぜ? ヒントだけでもいいんだぜ?もし暇があればでいいから教えてほしいんだぜ?
286 :
名前は開発中のものです。 :2006/09/13(水) 11:50:01 ID:xripbUfO
hspsock もしくは hspinet で HTTPプロトコル使いなされ。 サンプルはhsp3のフォルダにあるから。
PACKFILEを作るときにincludeしたファイルも選択する必要があるんでしょうか?
ないよ
ないあるよ
そもそもID:4HOORoqoはソースファイルはインクルードするものだと思っているのだろうか。
292 :
287 :2006/09/14(木) 23:20:16 ID:uSGdmLdC
ないんですよね、ありがとうございました
293 :
287 :2006/09/14(木) 23:25:10 ID:uSGdmLdC
>>291 内容ごとに分けて.hspファイルを何個も作って
main.hspにincludeして見やすくしているんですがおかしいんでしょうか?
どう見ても書き間違いです。 本当に有難うございました。
それはメインじゃなくてスクリプトインテグレータだ! si.hspってファイル名を変えろ! 謝れ!
その名はこのスレでしか見たことがないのだが、 一般的なのか?
297 :
名前は開発中のものです。 :2006/09/16(土) 00:45:27 ID:c7L8jJwC
emsinの命令が文法が間違っていますのエラーではじかれます 操作するキャラクターを回転させて、前進させたいのですが、 emsin以外の方法、もしくはエラーの解決法はありますか? OSはXP、hspext.asは同じフォルダに入れています
>>297 へ適当レス
変数の型や配列の要素に問題は無い?
>>297 へ適当レス
それemsinの前に全角スペース入ってんだよ。
>>297 へ適当レス
悪いことはイワンいいかげんHSP3にしとけ
糞入って風呂して寝ろ
"スクリプトインテグレータ"でググるとこのスレがひとつ引っかかるだけw
303 :
297 :2006/09/17(日) 01:14:14 ID:x84w1Mko
適当レスありがとう 原因わかりました、hspectの拡張子間違ってました 盲点でした、よく確認せずにすいません レスしてくれた方、ありがとうございます
vectorは協賛やめたんだろうか 2006年のにはバナーがないよ
細かいところ、よくみてるな。 2005年だけ協賛してたみたいね。 協賛しても、あまり意味ないと気づかれたか。
>>302 むしろ該当ページが見あたりませんときた。
今のうちに商標登録したらよくね?
/* #module "hage" #uselib "gdi32.lib" #func AddFontResourceEx "AddFontResourceExA" sptr, sptr, sptr #func RemoveFontResourceEx "RemoveFontResourceExA" sptr, sptr, sptr #const WM_FONTCHANGE 0x001D #const FR_PRIVATE 0x10 #const HWND_BROADCAST 0xffff #deffunc add_font str _adf_FontName AddFontResourceEx _adf_FontName, FR_PRIVATE, 0 status = stat if (status = 0) { return (status) } else { sendmsg hwnd, WM_FONTCHANGE, 0, 0 } return status #deffunc remove_font str _rmf_FontName RemoveFontResourceEx _rmf_FontName, FR_PRIVATE, 0 status = stat if (status = 0) { return (status) } else { sendmsg hwnd, WM_FONTCHANGE, 0, 0 } return status #global なソースで AddFontResourceEx が関数呼び出しに失敗しちゃうのだけれどもなんでじゃろ。 RemoveFontResourceEx の方はいけるんだけれども。 */
gdi32.lib → gdi32.dll とか。
98とかNTだから動かないとか?
ハゲの呪いがかかってるとか?
312 :
308 :2006/09/20(水) 19:03:11 ID:R57+bM3/
a
313 :
308 :2006/09/20(水) 19:05:34 ID:R57+bM3/
やっと規制はずれた! とまぁ 309 のとおりでした。 ありがとうございました。
作ってる人には悪いけど、今年のコンテストは 糞な3Dゲームがたくさん増えてダウンロードするのが 少しうんざりしてきたけど皆さんはどうですか?
315 :
名前は開発中のものです。 :2006/09/22(金) 23:05:07 ID:fFP6X04e
pazzle reversiってゲームのlevel10わかるわけねぇ
hsp3 あとは構造体があればなぁ… って似たようなの追加されてたか
次はガーベージコレクションとか
うぅ・・・質問なんだが・・・ MIA氏のDirectSoundを使う例のプラグインを無理やりHSP3で使ってみたんだが、 ds_load2が ds_load2 "sound.wav",4,5000,10000 とか書いてもエラーで「変数が指定されていません」とかなる。 で、p1に変数を書くとエラーはでないんだが音が鳴らない。 なぜ?
(・D`)ミァ
321 :
318 :2006/09/24(日) 13:22:05 ID:07elu3ta
HSP2の本家の過去ログで自己解決した・・・orz
一定時間操作しないでいると自動ログオフするウザい機能付きアプリがあるんだけど、 それを一定間隔でアクセスして防ぐプログラムってHSPで作れるかな?
3D囲碁?
そのアプリのハンドル捕まえて キーイベントを送ればいいんじゃね? テキトーな知識しかないんで地震は無いがw
ってaplselとaplkeyでできるな
サーバーの負荷を減らすためにログオフさせてるなら そういうソフトは迷惑なだけでわ
いやセキュリティ的な意味合いでログオフするんだ
>>325 まりがとう
328 :
名前は開発中のものです。 :2006/09/25(月) 22:23:31 ID:NJM7EmB3
☆★レシピ板にバカ女が降臨しましたよ、まだまだ間に合いますよ★☆
http://food6.2ch.net/test/read.cgi/recipe/1157670450/l50 【胡椒】料理の画像をうpしよう part1【油】
ある男がパンチラ画像ねだる→パンチラくらいならと画像うp→住人に乗せられる→パイチラもうp
ちやほやされる→だんだん過激に→しかし画像の消し方を知らない事が判明
プチ祭りに
596:まなみタン :2006/09/25(月)06:19:23 ID:5Z9t6N3U
llii|ili(つω-`。)illl||ill うえ〜ん誰か消し方教えてぇ〜
システム変数のmousew、WM_MOUSEWHEELメッセージを つかまえたときにチェックすると、最後の回転のホイール 移動量じゃなくて、その一つ前の回転の移動量がセットされ てる気がする。漏れmousewの使い方間違えてる?
331 :
329 :2006/09/27(水) 07:40:07 ID:Xa+E0qKs
そんなサイト知らんよ。漏れは特に目的なく動作テスト してて変だなと思ったから聞いてみただけ。なじぇ?
332 :
329 :2006/09/27(水) 07:46:17 ID:Xa+E0qKs
今ふと気づいたんだが、自分でWM_MOUSEWHEEL捕まえると、 HSPより先に処理することになるから、mousewが更新されてない だけか。 でもそれじゃmousewってどういうタイミングで使うものなんだ?
ループ中に監視するとか?
なるほど。参照するごとにクリアされる仕様だからそれでもいけるんだね。
335 :
名前は開発中のものです。 :2006/09/27(水) 22:17:48 ID:q2WGO7vI
>>332 >HSPより先に処理することになるから、mousewが更新されてない
なんか勘違いしてるな
mousewは、awaitとかwinにタスクを移した時に、拾って来てる
だから、mousewを読み取るタイミングは、関係ない
一分前にしかawait入れてなかったら一分未満にフォイール動かしていても
mousewでその結果を読み取れない
336 :
名前は開発中のものです。 :2006/09/28(木) 00:19:52 ID:4pqt6wGe
誘導弾について、詳しいサイトとかありますか? 発射地点から、到達点までの座標が固定のゴルフの様な 弾道をプログラムしたいのですが
親切な俺(中卒ニート童貞)が答えてやろう。 弾の座標をそれぞれ、 double x , y 弾の移動値をそれぞれ、 double ax,ay 発射座標をそれぞれ (const) int sx, sy 目標座標をそれぞれ (const) int ox, oy とする。 弾が複数あるならば、x,y及びax,ayは予め、配列変数として宣言しておく。 変数の領域が勿体無いので、存在フラグは『xの値が-90000以上』とかにしておけ。 変数の初期化は、 x=-90001 これやらないと初期化してない奴が動くから注意。 弾の初期化は、 x=sx : y=sy ;弾の座標を発射座標にセット ;距離を求める tmp1=ox-sx : tmp2=oy-sy tmp3=sqrt((tmp1*tmp1)+(tmp2*tmp2)) ;発射地点から目標までの差分を距離で割り、それを移動値とする ;必要ならスピード定数を掛ける。 ax=tmp1/tmp3 : ay=tmp2/tmp3 で、移動だが、超シンプル。移動値を足すだけ。 if(x>-90000){ x+=ax : y+=ay } 後はフレーム毎、弾の座標を調べて、弾を開放しなければならないなら、フラグを弄る。 これくらいかな。 あと適当に書いたから、単純にコピペじゃエラー出るかも。 間違ってたら釣りだと思ってくれ。
338 :
名前は開発中のものです。 :2006/09/28(木) 01:07:55 ID:4pqt6wGe
だが断る。 ありがとう。 俺は初心者すぎて、ルフィ状態です なにいってんだおめぇ、ぶっとばすぞ という気持ちだった。
339 :
名前は開発中のものです。 :2006/09/28(木) 01:16:10 ID:4pqt6wGe
これをさらに解説してくれ *GENERATE;dx,dy,u は一時変数です。 dx=tx-mx : dy=ty-my txv=dx : tyv=dy if dx<0 : dx=0-dx if dy<0 : dy=0-dy du=dx : if du<dy : du=dy if du=0 : return txv=txv*tv/du tyv=tyv*tv/du return 解説。 まず座標差を求めます。(dx,dy) 絶対値を比較して大きいほうをとります。(du) 座標差に弾の速度を掛けて、それを du で割ります。
>>339 これはDDA(デジタル微分解析器)を使ったアルゴリズムだね。
俺が挙げた奴の方が理解がたやすいから、それはあんたには速すぎる。
341 :
マンピー・D・ウキー :2006/09/28(木) 01:33:11 ID:4pqt6wGe
なに言ってんだおめぇ とりあえず、AからBに1ドットの点を移動するの書いてくれ ↓やってみたが、ダメだった tx=0 ty=400 mx=500 my=50 tv=1 color 0,0,255 repeat cls pset txv,tyv mes txv mes tyv gosub *GENERATE wait 10 loop *GENERATE;dx,dy,u は一時変数です。 dx=tx-mx : dy=ty-my txv=dx : tyv=dy if dx<0 : dx=0-dx if dy<0 : dy=0-dy du=dx : if du<dy : du=dy if du=0 : return txv=txv*tv/du tyv=tyv*tv/du return
342 :
マンピー・D・ウキー :2006/09/28(木) 01:38:28 ID:4pqt6wGe
なんか自力でサイト調べてもHSP2のサンプルばかりで HSP3で動かない事が多い。
少しは頭使おうぜ? randomize #define sx200.0 #define sy200.0 screen 0,400,400 *@ x=sx : y=sy ex=rnd(200) : if(ex>99) : ex+=200 ey=rnd(200) : if(ey>99) : ey+=200 tmp1=sx-ex : tmp2=sy-ey :tmp3=sqrt((tmp1*tmp1)+(tmp2*tmp2)) xv=0.0+tmp1*3/tmp3 : yv=0.0+tmp2*3/tmp3 repeat : redraw 0 : color 0xFF,0xFF,0xFF : boxf pos ex,ey : color 0xFF,0,0 : print "●" pos x,y : color 0,0,0 : print "●" if(x<0|x>400|y<0|y>400){break}else{x-=xv : y-=yv} await 10 : redraw 1 : loop goto *@back
間違い。 #define sx200.0 #define sy200.0 ↓ #define sx 200.0 #define sy 200.0
345 :
マンピー・D・ウキー :2006/09/28(木) 02:06:35 ID:4pqt6wGe
343すごいかもw 俺が今作った誘導は… screen 0 color 0,0,0 kx=100 ky=400;初期位置 tx=600 ty=150;到達点 repeat 50 pset kx,ky gosub *ido if ky<ty:mes "すとっぷ":goto *eee wait 6 loop stop *ido kx+=10 ky-=10 return stop *eee stop
分かったからで直して来いよ(´・ω・`)
347 :
マンピー・D・ウキー :2006/09/28(木) 02:16:12 ID:4pqt6wGe
ただ、343そのままじゃ使えない、ランダムとかイラナイし。 到達座標はゲーム進行上で決まるんで、 もっとシンプルになりませんか? AからBに当るだけでいい
348 :
マンピー・D・ウキー :2006/09/28(木) 02:19:12 ID:4pqt6wGe
あ、こうやって指定すれば良いんだ? ただ、途中で消えちゃうナー ex=500 ey=100 x=300 y=300
要らない部分は自分で削るぐらいはしようぜ(´・ω・`)
350 :
マンピー・D・ウキー :2006/09/28(木) 02:29:24 ID:4pqt6wGe
だな、今まで概念も理解できなかったが、 ちょっと解ってきたぞ つまり、AからBへの移動量を割る事によって XやYの増加量を配分していってるわけだな
351 :
マンピー・D・ウキー :2006/09/28(木) 02:34:53 ID:4pqt6wGe
#define sx 200.0 #define sy 200.0 ↑これのせいで、開始座標に制限されてる? screen 0,640,480 ex=300 ey=200 x=100 y=500
352 :
マンピー・D・ウキー :2006/09/28(木) 02:52:33 ID:4pqt6wGe
if(x<0|x>450|y<0|y>450){break}else{x-=xv : y-=yv} これがよくわかんねーな
>>335 レスどうも。(a)wait入れたループでmousewチェックする方法ならうまくいき
ました。
stopでスクリプトを止めといて、WM_MOUSEWHEELが来たときにmousewを
チェックすると更新されてないのは、returnしてstopに戻ったときに更新される
って感じなんですかね。
結局WM_MOUSEWHEEL自分で捕まえるならmousew見なくてもwparam
から取得できるだろうが!って話ですが。
randomize screen 0 v = 8.0 : sx = 0.0 : sy = 0.0; 弾の速度、発射位置x、発射位置y gosub *init *main_loop redraw 1 : await 10 : redraw 0 : cls 0 pos tx,ty : color 0xFF,0,0 : print "●" pos x,y : color 0,0,0 : print "●" x += vx : y += vy; 弾移動 //範囲外に出たら位置を変えてやり直し// if(x<0|x>640|y<0|y>480) : gosub *init getkey key_ret,27 if key_ret = 1: end; 「ESCキー」で処理を終了 goto *main_loop *init x = sx y = sy tx = 50.0 + rnd(300); 目標位置x ty = 50.0 + rnd(300); 目標位置y dx = tx - sx dy = ty - sy l = sqrt((dx*dx) + (dy*dy)); 目標までの距離 t = l / v; 目標到達までの時間 vx = dx / t; 単位時間当たりのx変化量(速度のx成分) vy = dy / t; 単位時間当たりのy変化量(速度のy成分) return
355 :
354 :2006/09/28(木) 22:44:24 ID:bl/DHlHt
コメント書き忘れてた。
>>343 勝手に弄らせてもらった。 気に障ったらスマン。
やってることは基本的に変わらんのだけど、そのままだとどうも上手く動いて
いないようだったので、自分好みの書き方に書き直してある。
356 :
マンピー・D・ウキー :2006/09/29(金) 00:37:18 ID:gqomi78B
>>354 やってみたけど、描画処理がやっつけにしたってLv低くないか?
チカチカする。
あと、ターゲット決まってるんだからさぁ
当り判定とか、加える手間省いて、到達点で消したいよな
357 :
マンピー・D・ウキー :2006/09/29(金) 00:49:39 ID:gqomi78B
とりあえず、俺は俺の望む物に到達したよ、有難う。 コレをベースに、あとは揺らぎを導入したいわ randomize #define sx 300.0;発射位置? #define sy 300.0 screen 0,640,480 ex=380;ターゲット座標 ey=100 x=200;発射位置? y=300 *ss x=sx : y=sy tmp1=sx-ex : tmp2=sy-ey :tmp3=sqrt((tmp1*tmp1)+(tmp2*tmp2)) xv=0.0+tmp1*3/tmp3 : yv=0.0+tmp2*3/tmp3 repeat redraw 0 color 0,0,0 boxf pos ex,ey color 0,0,255 : print "◎" ;ターゲット color 255,0,0 pset x,y pset x+1,y+1 pset x+1,y-1 pset x-1,y-1 pset x-1,y+1 if(ex=x|ey=y){break}else{x-=xv : y-=yv} await 1 redraw 1 loop goto *ss
358 :
マンピー・D・ウキー :2006/09/29(金) 01:00:11 ID:gqomi78B
あれ、なんかちゃんと当らないんだが、なぜよ? screen 0,640,480 sx=250;発射位置? sy=350 ex=450;ターゲット座標 ey=200 *ss x=sx : y=sy tmp1=sx-ex : tmp2=sy-ey :tmp3=sqrt((tmp1*tmp1)+(tmp2*tmp2)) xv=0.0+tmp1*3/tmp3 : yv=0.0+tmp2*3/tmp3 repeat redraw 0 color 0,0,0 boxf pos ex,ey color 0,0,255 : boxf ex,ey,ex+10,ey-10;ターゲット描画 color 255,0,0 pset x,y;弾描画 pset x+1,y+1 pset x+1,y-1 pset x-1,y-1 pset x-1,y+1 if(ex=x|ey=y){break}else{x-=xv : y-=yv} ;消える条件? await 1 redraw 1 loop goto *ss
>>356 wait位置を間違えてた。 これで満足か?
randomize
screen 0
v = 4.0 : sx = 0.0 : sy = 0.0; 弾の速度、発射位置x、発射位置y
gosub *init
*main_loop
await 16 : redraw 1 : redraw 0 : color 0xFF,0xFF,0xFF : boxf
pos tx,ty : color 0xFF,0,0 : print "●"
pos x,y : color 0,0,0 : print "●"
x += vx : y += vy; 弾移動
//範囲外に出たら位置を変えてやり直し//
if(x>tx|y>ty) : gosub *init
getkey key_ret,27
if key_ret = 1: end; 「ESCキー」で処理を終了
goto *main_loop
*init
x = sx
y = sy
tx = 50.0 + rnd(300); 目標位置x
ty = 50.0 + rnd(300); 目標位置y
dx = tx - sx
dy = ty - sy
l = sqrt((dx*dx) + (dy*dy)); 目標までの距離
t = l / v; 目標到達までの時間
vx = dx / t; 単位時間当たりのx変化量(速度のx成分)
vy = dy / t; 単位時間当たりのy変化量(速度のy成分)
return
360 :
マンピー・D・ウキー :2006/09/29(金) 01:12:21 ID:gqomi78B
361 :
マンピー・D・ウキー :2006/09/29(金) 01:20:24 ID:gqomi78B
>>359 を俺の都合で変えると動かないんだ、なんで?
screen 0,640,480
v = 4.0 : sx = 200 : sy = 300; 弾の速度、発射位置x、発射位置y
gosub *init
*main_loop
await 16 : redraw 1 : redraw 0 : color 255,255,255 : boxf
pos tx,ty : color 255,0,0 : print "◎"
pos x,y : color 0,0,0 : print "●"
x += vx : y += vy; 弾移動
//範囲外に出たら位置を変えてやり直し//
if(x>tx|y>ty) : gosub *init
goto *main_loop
*init
x = sx
y = sy
tx = 500 ; 目標位置x
ty = 50 ; 目標位置y
dx = tx - sx
dy = ty - sy
l = sqrt((dx*dx) + (dy*dy)); 目標までの距離
t = l / v; 目標到達までの時間
vx = dx / t; 単位時間当たりのx変化量(速度のx成分)
vy = dy / t; 単位時間当たりのy変化量(速度のy成分)
return
>>358 変数xとyが整数型になるからだろ。 これで満足か?
screen 0,640,480
sx=250.0;発射位置?
sy=350.0
ex=450;ターゲット座標
ey=200
*ss
x=sx:y=sy
tmp1=sx-ex:tmp2=sy-ey:tmp3=sqrt((tmp1*tmp1)+(tmp2*tmp2))
xv=0.0+tmp1*3/tmp3:yv=0.0+tmp2*3/tmp3
repeat
redraw 0
color 0,0,0
boxf
color 255,0,0:pset x,y:pset x+1,y+1:pset x+1,y-1:pset x-1,y-1:pset x-1,y+1;弾描画
color 0,0,255:boxf ex-5,ey-5,ex+5,ey+5;ターゲット描画
if(((ex+5)>x)&&((ex-5)<x)&&((ey+5)>y)&&((ey-5)<y)){break}else{x-=xv : y-=yv} ;消える条件?
await 1
redraw 1
loop
goto *ss
363 :
マンピー・D・ウキー :2006/09/29(金) 01:33:16 ID:gqomi78B
>>362 うん、おっけ、ご苦労様。
これでやってみんわ
おまいら親切ですね
>>363 ,,ll,, .,,,_ ,,,,、 .,,,,,,,,,, 、 .,,,,,、
,,lll,,,,,,,,.,,,lll゙,llll!'.,l゙゚lllllllll゙゙,llト '゙゙li: ,,ll illi,,,,,,,,,,,,llllllll゙゙lli,,,,,,,,゙ll,゙゙lli、
`゙゙゙llllil゙゙゙゙llll″ ,l゙.,il゜ ,il゙,,l°.,,, ,il゙,il° : _,,,,,,,, '!,,,,,lllllllllll!!゙,,lll゙゙゚゙lli,゙゙li,!l,,l!:
,,,lllllllll゙゙ll,, ゙llr,il゚,,l゙ ,i゙.,i!` ,illl゙ .,ill,,,,,,,,,,,,,,,,lllllllllllll゚,,llllllllllllllll,,,,,,,゙li、 ゙”`,,,lllllllll゙° ゙l,,ll゙
,,,lllllllll゙lllllllll、.゙lllllll゙,ll゙′,l"'lllllll゙゚,ll .゙l,,,,,,,llllllllll゙゙゙゙゙゙゙l!゙,il° : `゚゙゙゜ ,,,,lllllllll゙゙゙_,,,,,,,,,,llllllllll,,
,,,゙゙,,,,,,,,,l",ll,,llll,,iillll゙° .'゙゙ll゙゙゙゙゙゙゙゙゜ . ̄ ,,,llllllllll゙.,il゜ : _,,,,,lllllllll!lllllll゙lllllllllllllllllllllllll゙:
, .l!llllllllllll’,lllllllllilllllllllllllllllllll゙゙,゙lll ,l゙,i゙’ ,i!..,ll ,lll゙゙゙,,,,,llllllllllllllllll゙゙″
" .,,,llll: ,illlllllll,、 ll,゙l, .,,lll゙,ll゙″ ll,:!l,,,lll゙ ,l゙ ゙゙゙゙゙″ ,,lllll゙’
°.,,,lllllllll゙,i!゜゙!l,,,l! ゙l,'!lllllll゙゜ ゙゙゙゙゙ll!゙,,l゙` ,l゙,l゙
’,,,lllllll゙",i゙.,il゜ : ,,,llllllll,,゙lll,,,_ .,,lll,,ll° ll,!ll,,、
゙゙゙゙゜ .,l゙.,il゙_,,,,lllllllllll゙゙°゙lll,,,゚゙lllll‥ ,,,,lllllll゙’ ゙゙ll,,゙゙゙lllllllll゙゙lii、
l!llll゙llllllll゙゙” ゙゙゙゙゙` .illllll゙゙゜ ゙゙゙゙゙゙゙゙゙゙゙゙゙゙`
探すぞ
投すぞ?
370 :
マンピー・D・ウキー :2006/09/30(土) 10:17:58 ID:hyXswLDw
なにいってんだ、おめぇら(0б0) ぶっとばす!俺あなる!
俺アナル!
マンピーなんだからヴァギナだろう
あげ
374 :
名前は開発中のものです。 :2006/10/03(火) 02:35:56 ID:pNACCiBM
しっぱいw
w一つとかきめえwwwwwwwwwwwwwww
なぁなぁ、グラセフの町散歩するだけみたいなのを作りたいんだけどー HSPでつくれるー?
作れるよ。 がんばってね。
HSPみたいな、無駄にヘンテコな仕様(整数型と実数型を区別しない所とか)のある環境は使いたくないな。
区別はあるぞ、変数への代入時に変数の方が強制的に上書きされるだけで。 よく研究してみろ おもしろくはないが
方->型 hhwwore
毎度思うが Cとか他言語使える人がHSP使いにはやたら多いけど なんでそれでもHSPを使うんだろ win32API 呼んだりマシン語コード組み込んだりトリッキーなことしてまで
楽したいから
>>383 どの辺が楽なん?
HSPが駄目な仕様だって類の話はよく聞くけど
他言語使える人の考えるHSPの利点ってのがよくわからん
HSPしか使えない俺にはそういう人が提供してくれるモジュールとかは物凄く役立つんで感謝している
ちょっと書いてすぐ結果を得られる手軽さ。
よく聞く、「構造体とかポインタがねぇんじゃなぁ」っていう発言、 Cを知らない俺にはそれらの凄さが全くワカランのだけど、 Cを勉強しなくてもそれらが理解できるような ステキ解説サイトはないかなぁ
HSPでもし構造体が使えたらパラメータをまとめられて楽やん STRUCT STAT X, Y, ATK, DEF, HP ENDSTRUCT DIM STAT, ENEMY, 128 STAT.0.X = 0 STAT.0.Y = 0 STAT.0.ATK = 0 STAT.0.DEF = 0 STAT.0.HP = 0 REPEAT 128 STAT.CNT = STAT.0 LOOP
まちがいた ENEMY.0.X = 0 ENEMY.0.Y = 0 ENEMY.0.ATK = 0 ENEMY.0.DEF = 0 ENEMY.0.HP = 0 REPEAT 128 ENEMY.CNT = ENEMY.0 LOOP
ENEMY_X..0 = 0 ENEMY_Y.0 = 0 ENEMY_ATK.0 = 0 ENEMY_DEF.0 = 0 ENEMY_HP.0 = 0 で十分 と思うHSPユーザー
敵の数を増やしたり減らしたりするのはポインタがあった方がいいかもしれんが。 ないと敵を最大500個としたとしてENEMY_JYOUTAI . Nが0なら存在しない、1なら存在 するとして、毎回500個のENEMY_JYOUTAIを見ることになるが、今の時代、そのぐらいで は速度やメモリへの影響はどうってことない。
ポインタはいらん。 組み込みの双方向リストつけてくれれば十分。 もしそうなれば、構造体が生きてくる。
結局、CとHSPのちゃんぽんが使いやすいってことでok?
そういやクラスや継承が欲しいって話は聞かないな 漏れはそれらをよくわかってないが
自分で使いたい命令セット作って、HSPでスクリプト が良いんじゃない。
今ゲーム作ってて質問なのですが、 アイテムを手に入れた・入れてない(持ってる・持ってない)の判定ってのはどうやればいいでしょうか? 所持アイテム画面みたいので、持ってるアイテムはアイテム名と個数が出て、 持ってないのは何にも表示されないってのをやりたいのですが。 あともう一つ質問でアイテム同士の合成システムを作りたいのですが どうやればいいですか?
>>397 俺のレスをよく読むんだ。
ここに質問する前に、まず自分が人間として他人と相違ないかどうかよく考えるんだ。
もし1つでも当てはまる節があれば、プログラミングなんて止めてしまえ。
>>398 「俺のレス」とはどれのことでしょうか?
┐(´〜`)┌
>>397 アイテム所持数のデータを参照するだけのことだと思うのだが??
0なら持っていない。 持っているなら表示。
過去に手に入れたかどうかを別に持ちたいなら、別データに保存しておいてもいい。
(他には、アイテム所持数の初期値を『所持限界数』を超えた値にしておいて、
その値のときはまだ手に入れていない、0のときは手に入れたことあるけど本当に0とか)
アイテム合成はそれこそ作りたいシステムによる。
自分がどういった合成したいのか、どういった要素を用意したいのかを
細かく決めなきゃ他人からはアドバイスしようがないよ。
一番簡単なのはアイテムとアイテムを掛け合わせたときの結果を
テーブルで用意する。 (AとAならC、AとBならDといった結果全てをデータで持つ)
アイテム所持数の配列自体作ってないんじゃ・・・?w
404 :
連レススマソ :2006/10/05(木) 21:57:07 ID:ghzT0bvk
パスは1234
こんなことだからHSPの利点はつくtt
こんな質問するレベルじゃこの先何も出来んぞ
407 :
397 :2006/10/06(金) 17:47:28 ID:3dEVPjSH
亀レスですみません。 皆さんアドバイス等ありがとうございます。 確かにこの程度の問題をすぐに質問するようじゃ、ダメですね。 まず自分で何とかする、そういう風になっていければいいのですが……。 アドバイス等くれた皆さん、本当にありがとうございました。
いやいや、質問の程度の問題じゃない。 仕様だけを提示しておいて、それをどうしたら良いか分からないというのは質問以前の問題だからな。
もう日曜日か。
412 :
マンピー・D・ウキー :2006/10/07(土) 11:54:44 ID:i7Juf6Sl
おっす。 ゴルフのパワーバーみたいのあるっしょ? 移動して、頃合を見計らってボタン押してパワーが決まる様な。 最初ボタンでやってたんだけどね 実際はボタンだと、ボタン離した瞬間にプログラムが動いて 止める、つまり決定されるんだよね。 これじゃとてもじゃないが、ゲームに向いてない だから、オリジナルのボタンとして指定範囲をクリックしたら 決定するようにしたんだけど、 そうすると、ボタンと違って割り込みできないんだ。 パワーを増減させつつ、割り込ませるにはどうしたら良いんだ?
413 :
名前は開発中のものです。 :2006/10/07(土) 11:59:46 ID:s6shdJIF
>412 >341 >342 >345 >347 >348 >350 >351 >352 >356 >357 >358 >360 >361 >363 >370
414 :
マンピー・D・ウキー :2006/10/07(土) 12:34:08 ID:i7Juf6Sl
>>413 なにいってんだおめぇ?
あっはは!自己解決したわ
処理が遅くなるけど、数値変える毎に、
チェックルーチンに飛ばせば済む話だな
415 :
マンピー・D・ウキー :2006/10/07(土) 12:49:32 ID:i7Juf6Sl
あ、処理も変らないな。 もうデザインという意味以外で 普通のボタン使う事もねぇな、これ。 俺の技は全て一段階進化した
298 名前:はじめまして名無しさん :2006/09/15(金) 23:22:38 ID:pNL/1NTp ________ /:.'`::::\/:::::\ /:: \ /::. /""" """\ ヽ |::〉 ●" ●" | 竹石圭佑 (⌒ヽ |) (1986〜 愛知県名古屋市) ( __ ( ∩∩ ) | | 、_____ / ヽ \____/ / \ / \____/ /;;;;;;;;;;;;`Y´;;;;;;;;\ /;;;;;;;;;;;;;;;;;;;;;;l;;;;;;;;;;;;;;;;;;', l;;;;;r'´ ̄ ̄~  ̄ ̄ヽ;;;;;! |;;;;;;| |;;;;;| {;;;;r',;;'"゙`、 .,,;-ー、 ',:;} 植草一秀 rゝl!. (●)│l (●), :l;jヽ 名古屋商科大学客員教授 〉),| . ノ ヽ :!ノ/ ゝ_.l ゝ- ' ,jノ l、 ___, /! lヽ ー‐' ,/ ! /!、`ー─‐'" /ヽ 竹石圭佑と植草一秀氏には多くの重大な「共通点」がある。 竹石圭佑は覗き&盗撮が趣味で高校時代にも最低2回は「覗き」「下着泥棒」で捕まっている。 顔の系統も同じで、かなりレベルの高い金魚面である。 竹石や植草氏は世の中の女性を「性欲処理の道具」としてしか見ていない。 犯罪・変態行為で互いにしのぎを削りあう両名。好敵手とも言える。 しかし、この二人の不自然なほどの重大な「共通点」から考察すると、竹石圭佑は植草一秀氏と血縁関係にあるとも考えられる。
417 :
マンピー・D・ウキー :2006/10/07(土) 14:05:03 ID:i7Juf6Sl
やべぇ、つまった。 この前の、ターゲットへ向かう弾のプログラムを 着弾地点から、もう一度別の地点に描画しようと sx=232.0;発射位置? sy=338.0 ex=(tamaxxx)+(yokoxb)+(xeikyou)+(bara);ターゲット座標 ey=(tamayyy)+(tateb)+(yeikyou) gosub *ss wait 1 sx=(tamaxxx)+(yokoxb)+(xeikyou)+(bara);発射位置? sy=(tamayyy)+(tateb)+(yeikyou) ex=(tamaxxx)+(yokoxb)+(xeikyou)+(bara)+(hi*23);ターゲット座標 ey=(tamayyy)+(tateb)+(yeikyou)+(yhi*23) こうやったんだよ したら、0で除算って言われた。 どうすればいいんだ?
418 :
マンピー・D・ウキー :2006/10/07(土) 14:12:22 ID:i7Juf6Sl
sx=232.0;発射位置? sy=338.0 ex=(tamaxxx)+(yokoxb)+(xeikyou)+(bara);ターゲット座標 ey=(tamayyy)+(tateb)+(yeikyou) gosub *ss wait 1 sxx=(tamaxxx)+(yokoxb)+(xeikyou)+(bara);発射位置? syy=(tamayyy)+(tateb)+(yeikyou) sx=sxx.0 sy=syy.0←こうやって最初のsyみたいに出来ないのか?
419 :
マンピー・D・ウキー :2006/10/07(土) 14:24:45 ID:i7Juf6Sl
あ、書いてない部分で0*23ってやってたからダメだったみたいだ。 でも、跳弾が変なとこすっとんでいくな
チラシの裏にでも書いてろ お前のレスを見る限り、お前にプログラミングの才能はない
421 :
名前は開発中のものです。 :2006/10/07(土) 15:56:24 ID:s6shdJIF
これは是非紳士録として載せるべきだ。
!!警告!! マンピー・D・ウキーにレスをしないで下さい。 エイズを持っています近寄らないで下さい。
「レスをしない」には同意だが…
425 :
マンピー・D・ウキー :2006/10/08(日) 00:00:39 ID:hJDWeeR2
>>420 何いってんだ、おめぇ?
実力でかかってこいよ
HSP王に俺あなる。
なんか、適当に.0とかつけてたら、直ったわ。
適当にゲーム作れて100万ユーザー獲得できる香具師なら
謝ってやる。口だけの雑魚はスッコンロ
なんか新しいプラグインとか出ないかな
どんなプラグインが欲しいの?
428 :
マンピー・D・ウキー :2006/10/08(日) 09:43:47 ID:hJDWeeR2
hspリライト for JAVA とか hspコンパイル for NINTENDO DS とか HSPtoShockWaveみたいなプラグインが欲しいな。 ところで、 ネスト深すぎ問題の回避方法教えれ
429 :
名前は開発中のものです。 :2006/10/08(日) 10:42:27 ID:RhFcK7yN
!!警告!! マンピー・D・ウキーにレスをしないで下さい。 エイズを持っています近寄らないで下さい。
>>428 自分はそこまで深くなったことがないので、それだけでは検討つかん。
ソースうpしたらアドバイスできるかもしれん。
ソイツにはハーゲンダッツのアイス 「アフォガード」がよく似合う
どうせアレかアレなんだろうな〜w
434 :
403 :2006/10/08(日) 22:27:42 ID:Lg8GZVQX
ドラクエ風?w randomize onkey *key itemStr = "やくそう","毒消し","ひのきのぼう","かわのたて" dim itemList,8 repeat 8 xx = rnd(4) mes itemStr(xx)+"を手に入れた" itemList(cnt) = xx loop stop *key cls:mes "どうぐ" pos 40,ginfo_cy repeat 8 mes itemStr(itemList(cnt)) loop stop
436 :
マンピー・D・ウキー :2006/10/09(月) 01:16:56 ID:rbhc0PuL
>>431 ソースうpって言っても1000行はあるからなぁ
IF文とGOSUBやら、リピートはサブルーチンとしては良く使ってる
自分なりに、削ってはいるんだが。
欠点云々じゃなくて、なんか裏技が欲しい
リセット出来ちゃうような
FF風? randomize onkey *key itemStr = "ポーション","毒消し","目薬","ナイフ","かわのよろい" dim itemList,5 *main xx = rnd(5) mes itemStr(xx)+"を手に入れた" itemList(xx)++ if ginfo_cy > 480:cls wait 25:goto *main stop *key if ii = 1:ii--:cls:goto *main cls:ii++ repeat 5 if itemList(cnt) > 0{cy = ginfo_cy mes itemStr(cnt):pos 100,cy mes itemList(cnt):pos 0 } loop stop
438 :
名前は開発中のものです。 :2006/10/09(月) 01:34:10 ID:msY7lpT8
!!警告!! マンピー・D・ウキーにレスをしないで下さい。 エイズを持っています近寄らないで下さい。
エイズ偏見(・A・)イクナイ
>>431 メル欄で何言おうと "ご苦労様" で終わりだぞ
ここはこーすんだよヴァーカ!とか言ってみたところで
答えは得たもん勝ちぜよ...
441 :
名前は開発中のものです。 :2006/10/09(月) 03:45:36 ID:msY7lpT8
!!警告!! マンピー・D・ウキーにレスをしないで下さい。 エイズを持っています近寄らないで下さい。
他人を貶したいなら比較対象を持ってくるんじゃない。 本当にその病気にかかってる人たちに対する最悪の侮辱だ。
443 :
マンピー・D・ウキー :2006/10/09(月) 05:29:44 ID:rbhc0PuL
>>442 何言ってんだ?おめぇ
HSPスレにエイズなんて関係ねぇよ
レスるとエイズになる能力なんて俺TUEEEE!
HSPの話をしろ、くだらない事は書くな。
雑魚は要らない(プログラムLVじゃなくて、やる気のないヤツ)
俺はHSPの名を轟かせる為に、一生懸命ゲームを作ってる。
文句を言う前に、お前も100万人に遊んでもらうゲームを
HSPで作れ、何もしてない雑魚は黙っていろ、殺すぞ
444 :
マンピー・D・ウキー :2006/10/09(月) 05:32:41 ID:rbhc0PuL
プログラムLvはMES文が書ければ十分くらいに思ってる。 命をかけて作れば、 何時かJAVAやFlashにコンパイルできるプラグインも出てくる おにたま?がきっと努力に答えてくれる。 だから、俺たちも命を掛けてゲームを作るんだ。
楽しいな、面白いな、もっとやれw
>>444 君の保有する最大の問題点であり仕様であるのはだね
その口調だよ
447 :
424 :2006/10/09(月) 14:55:45 ID:28EoSs98
448 :
名前は開発中のものです。 :2006/10/09(月) 15:09:01 ID:msY7lpT8
口調も問題だが、 >一生懸命ゲームを作ってる。 問題を丸投げしたり他人を道具も同然な扱いをするのも問題だな。 !!改めて警告する!! マンピー・D・ウキーにレスをしないで下さい。 エイズを持っています近寄らないで下さい。
近 寄 っ た だ け で は エ イ ズ は う つ り ま せ ん
うん、確かにうつらない。
この流れ、コントか何か?w
452 :
名前は開発中のものです。 :2006/10/09(月) 20:22:36 ID:msY7lpT8
!!警告!! マンピー・D・ウキーにレスをしないで下さい。 口が臭いです近寄らないで下さい。
msY7lpT8のがウザいのでNG逝き
454 :
名前は開発中のものです。 :2006/10/09(月) 22:49:50 ID:fzz3xwFJ
!!警告!! マンピー・D・ウキーにレスをしないで下さい。 興奮して糞を投げてくる事があります。
456 :
名前は開発中のものです。 :2006/10/09(月) 23:09:22 ID:c7bPPpmN
!!警告!! マンピー・D・ウキーにレスをしないで下さい。 近づくと失禁します。
457 :
名前は開発中のものです。 :2006/10/09(月) 23:14:28 ID:W6qfTG9g
!!警告!! マンピー・D・ウキーにレスをしないで下さい。 精液を撒き散らす事があります。
叩くほうのレベルが低すぎちゃ、 M・D・Uの神がかったイカレぶりが際立たねぇだろ バカどもが
459 :
名前は開発中のものです。 :2006/10/09(月) 23:17:01 ID:FKZ+d9AC
!!警告!! マンピー・D・ウキーにレスをしないで下さい。 興奮して糞を投げてくる事があります。
>>444 とりあえず公式の掲示板じゃ駄目なのか?
長々やるならあっちの方がいいと思うが
レス番飛びまくりの件
462 :
マンピー・D・ウキー :2006/10/10(火) 02:55:16 ID:bYglahvX
>>460 なに言ってんだ、おめぇ?
ところで、377・45 - 537・205
以外に座標があると、判断するにはどうすればいい?
IF xx=(x<377)&(x>537)&(y>45)&(y>205)
これでxxが 377・45 - 537・205 以外って事?
463 :
マンピー・D・ウキー :2006/10/10(火) 02:56:25 ID:bYglahvX
&じゃなくて、どちらかに絡んだらって事だよね
464 :
マンピー・D・ウキー :2006/10/10(火) 03:02:25 ID:bYglahvX
xが377〜537 かつ yが45〜205 なら か。
465 :
名前は開発中のものです。 :2006/10/10(火) 03:03:38 ID:6y0g/81O
うわぁ ウンコなげてきたぁ ぎゃー
466 :
マンピー・D・ウキー :2006/10/10(火) 03:06:39 ID:bYglahvX
if x>=377 & X<=537 :goto *2 goto *end *2 if y>=45 & y<=205 :goto *3 *3 ok これでおっけーか
//フィリピン産バナナ #const x0 377 #const y0 45 #const x1 537 #const y1 205 #const mmm $7FFFFFFF goto *script_start #deffunc judge int _jx, int _jy j= ( ((_jx-x0)&(mmm))>(x1-x0) ) | ( ((_jy-y0)&(mmm))>(y1-y0) ) title strf("(%3d",_jx)+strf(",%3d)",_jy)+strf(" %1d",j) return j *script_start color 100,100,100:boxf x0,y0,x1,y1 color 0,0,0:mes {"ところで、377・45 - 537・205 以外に座標があると、判断するにはどうすればいい?"} repeat judge mousex,mousey:wait 1 loop
468 :
マンピー・D・ウキー :2006/10/10(火) 11:50:51 ID:bYglahvX
>>467 正直、汚いコードだな。
俺のIF文の方が6行くらいで判断できるし
あえて、合理化するレベルじゃないと思う。
どうも、リスペクトできない
469 :
マンピー・D・ウキー :2006/10/10(火) 11:52:30 ID:bYglahvX
これだけじゃ動かないが、 俺が実際組み込んだのはコレだけだよ if ex>=377&ex<=537 : goto *nhan;;;;;;;;ボード内に着弾? goto *nnne *nhan if ey>=45&ey<=205 : goto *nee goto *nnne
470 :
マンピー・D・ウキー :2006/10/10(火) 11:54:30 ID:bYglahvX
x軸が範疇なら、y軸の範疇を調べるだけの事だろ。 まぁ、質問する程ではない話だったのかも知れんが。
//>俺のIF文の方が6行くらいで判断できるし
if ( ( ((ex-377)& $7FFFFFFF)> 160 ) | ( ((ey-45)& $7FFFFFFF)> 160 ) ) : goto *nnne ;(範囲外処理へ)
;(このあとに、範囲内処理を記述)
//-----------------------------------------------
//>x軸が範疇なら、y軸の範疇を調べるだけの事だろ。
if (ex> 376)&(ex< 538) {
if (ey> 44)&(ey< 206):goto *nee //(範囲内処理へ)
}
;(このあとに、範囲外処理を記述)
/* これまでの流れを見てて、
まともに人の話を聞く耳はもっていないのは分かってはいたけど。
>>443 の
>俺はHSPの名を轟かせる為に、一生懸命ゲームを作ってる。
の心意気に、少しばかり感心したんで、「こんな方法もあるよ」と
知恵を授けるつもりで書き込んだが、こう無下にされるとは…。
猿回しっぽく遊びながら教えるつもりが、なぜかこちらが「反省」。 */
これ以後、糞コテの相手はしないようにおねがいいたします。
473 :
マンピー・D・ウキー :2006/10/10(火) 13:33:05 ID:bYglahvX
>>471 だって$7FFFFFFFとか、ワケわかんねぇもん
かっこつけて16進とか使う奴ってHSP界に要らない気がする。
人がHSPを選ぶって事は、
プログラムに対する考えのLvが低いからHSPを選ぶ。
Lvが低くても作りたい奴だけ、残れ。
HSPが不要な奴には、HSPを語る必要がないだろ。
猿の寿命は約20年と言われ、成長するのが早く、一年で成人するといわれています。 もともと群れの中で生活する動物なので、本能的にボス争いをするため、 人間に対しても反抗的になったり、野性的になったり、サルの調教は根気の必要な 非常に難しいことです。 「反省ザル」で有名な太郎・次郎のように、調教師とサルと の信頼関係を築くことによって、より素晴らしい芸ができるようになります。
>>473 それはお前が無知なだけだろ。
>プログラムに対する考えのLvが低いからHSPを選ぶ。
これは違うな。言い訳にしか聞こえない。
Cとか使えるのにHSP使ってる人の大部分は、手軽にプログラムが作れるからから使ってるんだ。
>かっこつけて16進とか使う
なんかもう・・・・痛々しい・・・ですね・・・
>>471 正直、同情の念を禁じ得ない。
まぁ、猿に論理演算を理解しろというのも無理があると思うが。
477 :
マンピー・D・ウキー :2006/10/10(火) 16:46:14 ID:bYglahvX
>>手軽にプログラム 要するに、その思想が雑魚なんだよな。 手軽で、作るものもゴミなんだろ? 結局そういう奴らは、口だけで何もHSPとして 求められたゲームを作っちゃいないんだ。 まず、自分のHSP代表作言ってみろ 俺は、今作ってるから、言えないが 11月リリースする。 ベクターに登録したら月10万DLは行くと思う。 手軽に俺を超えてみろよ、さぁ超えてみろって
478 :
マンピー・D・ウキー :2006/10/10(火) 16:49:45 ID:bYglahvX
16進使うとなんか良いことあんの? 手軽に作る程度のプログラムなら 普通に数字かけば良いと思うが、 かっこつけてるだけではないんだ? 16進だと斜め読みすると、面白いのか?
479 :
マンピー・D・ウキー :2006/10/10(火) 16:52:14 ID:bYglahvX
まぁ、雑魚を相手にしてる場合じゃないな。 要はLvじゃなくてDL数が全て。 11月なったら、俺が教えてやるHSPの全てを
自己顕示欲の大きいやつだな。 そろそろ自分がまるで空気読めずに場を荒らしてることに気が付け。
マンピーにレスしたせいで暴走してるじゃん 気違いだよ
井の中の蛙大海を知らず
【問題】以下のコピペを猿用に改変せよ 図星でクリティカルヒットされた時の厨房の捨てゼリフ ベスト5 1位) だったらお前が作ってみろよ。・・・自分で作る意思が無い事を告白する発言。 2位) お前こそ、どうせできないんだろうが。・・・自分に言い訳する為、他人に「同意」を求める発言。 3位) こういう奴に限って何のスキルも無いくせに・・・「おまえも俺と同じだろ」と同じで、仲間と同情を求める発言。 4位) 批判しかしない口だけ野郎なんだよな・・・自ら打たれ弱い事を告白し、ゲームを作る体力が無い事をアピール。 5位) 釣れちゃったwww・・・・反論するだけの知能と知識がない事をアピールしている。且つ、その事に気づいていない低脳。
マンピー・D・ウキーは10年に一度現れるか現れないかの馬鹿です。
$7FFFFFFFは2147483647か・・・ ま、本人が十進数のがわかりやすいってんなら 好きにしたらいいんじゃね?w
いや、一番最初にマンピー・D・ウキーにレスした奴が馬鹿なだけか。 結局これも釣りなんだろう?
マンピーっていう糞コテのヤツ、今まで張り付いてたアンチHSPのやつでしょ。ホントは。
>>477 すごいじゃん。月10万DL見込めるゲーム作ってるって?天才と狂人は紙一重って言うけど
本当だな。俺も狂人でもいいから月10万DL欲しいなあ。
490 :
名前は開発中のものです。 :2006/10/10(火) 21:46:25 ID:Wu1hOgHH
warota
土曜日に東古屋湖行ったら 浅すぎてワロタ でもニジマスの活性自体は悪くはなかったよ ただやっぱもうちょい水ないとダメだな
誤爆乙。 HSPは手軽だから、いろんなユーザーがいるよなぁ。 自営業とかetcとかetcとか。
レス飛びまくりだが内容的にどうでもよさそうだな
嫌でNGしてるのにわざわざ語りかけるやしの気が知れない。
495 :
マンピー・D・ウキー :2006/10/11(水) 08:52:01 ID:eWs9si0E
どうでも良いなら、スレに来なければ良い。 HSPの話も出来ないクズが多いな
>>495 YO!糞コテ、来やがったな。待ってたぞ。
オマエが製作している、月10万DLは行くという作品について
頼みがあるんだが。
(1)「マンピー・D・ウキー」の作品であることReadme.txtあたりに書いておく
(2) 作品を公開する予定のサイトのURL(VectorならVector内の"作者ホームページ")
を、発表前にココに書いておく。
どちらかを実行してくれるかな?
方法は上記2つに限らないが、要するに、
作品が疑いなくオマエの物であると確認できように、
月10万DL作品と、「マンピー・D・ウキー」を
結びつけるものを残しておいて欲しいワケ。
今のように、オマエがどこの馬の骨だか分からない状態だと、
12月1日に発表されるHSPコンテストの優勝作品あたりを指して
「これはオレの作品だ」とか、一方的に騙ることも可能だからな。
オマエが、オマエの言う「口だけ」の「雑魚」や「クズ」じゃないのなら、
ウダウダ逃げ口上を並べ立てて断るまでもなく、
この程度のことは造作もなく出来るよな?
497 :
マンピー・D・ウキー :2006/10/11(水) 13:02:29 ID:eWs9si0E
>>496 その辺は別に心配ない。
HSPの復興と普及の為にやってるんだから
俺自身が大作を作ることも、その一環である。
証明はするだろうけど、このコテは換えるだろうな
その辺は告知するけど、まず作品に注力している。
HSP3でMP3を任意の位置からループ再生したいんだけれど、 良い方法ありませんか?
mciでseekとかなかったっけ?
ある位置だけからしか使わないんなら
>>499 をおすすめするがな〜
>>499-500 レスどうもありがとう。
ゲームのBGMに使いたいから、
イントロふっ飛ばして、Aメロからループとかやりたかったんですよ。
>>500 MIDI での mci の情報は見つかりました。
MP3 で出来るのかわからないので、ちょっと調べてみます。
出来なかったら、
>>499 の方法を取ってみる。
>>498 hmm.dllで可能だった様な気がする
499式を使う前に その素材がフリー素材なら加工禁止してないか確認しる
hmm.dllがバージョンアップしてた。 DirectSoundでoggが再生できるようになってたよ。 公式に更新情報無かったから知らんかった。
>>504 hsp.tvでHSP3のプラグインとして紹介されてるものと、
HSP2のプラグインのページにあるものとは、同じだと思ってたら、
違うのな。1.41 -> 1.42 か。気づかなかった。
他のDirectSound系のプラグインと比較すると、パン設定ができないけど
ファイルの読み込みや、実際の動作が速いのが気に入ってる。
ウキー!
はいはいわろすわろす
screen 0,200,200,0:cls 4:gmode 2,20,20 buffer 2,20,20:gsel 2:cls 4 color 255,255,255:line 10,1,5,19:line 14,19,10,1:color 255,000,000:line 5,19,14,19:gsel 0 kaku=0.0:pi=3.141592635:x1=100:y1=100 *main redraw 0:color 0,0,0:boxf 0,0,200,200 pos x1,y1:grotate 2,0,0,kaku stick stc,,1:x=mousex:y=mousey:title "x="+x+"y="+y+"rad="+kaku if stc=256:gosub *kakudo redraw 1:wait 10:goto *main *kakudo kaku=atan(y-y1,x-x1):return 自機に向かって敵弾が飛んでこさせるのに二点間角度(kaku)を求めるのは判ったのですが、 何故、中央の三角はマウスクリック位置方向を向いてくれないんでしょうか? grotateに与えるラジアン角は、二点間角度(kaku)ではいけないのでしょうか? 対処方法はどうしたらいいのでしょうか?
日本語がおかしいね。 何でだろうね。気持ち悪いね。
90度ぶんずれてる。
>>509 すいません。
>>510 あっ、言われてみるとたしかに90度ズレてますね。
で、 kaku=atan(y-y1,x-x1)+90*pi/180:return
と90度分のラジアンを足してみたんですが、それでも45度ぐらいずれてるんです。
もう一つ二つ、ヒントを戴けませんか?
color 255,255,255:line 0,19,19,10:line 0,0,19,10:color 255,000,000:line 0,0,0,19 じゃダメなのか?
>>511 HSP(ver3.0)マニュアル総合インデックス
プログラミングマニュアル1・基本仕様ガイド (hspprog.htm)
2.基本文法
・式
514 :
名前は開発中のものです。 :2006/10/17(火) 08:15:30 ID:qBagiLNx
>>511 mes str(90*3.14)
mes str(90.0*3.14)
結果の違いを見れば分かるだろう
515 :
名前は開発中のものです。 :2006/10/20(金) 21:16:54 ID:LZ794pNi
コンテスト締め切りまであと少し!! みんな急げーーーーーーーーーーー!
まにあわねぇ 来年でいいやw
それだけじゃよく判らないけど、 中央に戻らずに等速で画面外まで飛んでいって欲しいの?
>>517 kakudo(cnt) += kaitenをリピートの中に入れているから計算がおかしくなってるのでは?
まあ、あれだ。回転角が一定なら円を描くのは当たり前で… 弾が発生してからのフレーム数をカウントする配列を用意して それを元に加算する角度を調節すれば何とか…。
521 :
517 :2006/10/21(土) 12:04:03 ID:MyCuIMif
>>518 はい。そのとおりです。普通に回転運動をしながら画面外に飛ばしてやりたいのすが・・・
>>519 現在のリピート内での計算ではなく、メインのループで計算させる必要がある、
ということでしょうか?
>>520 すいません・・・私の考え至らず、理解出来ません・・・
あとソース冒頭の#include"hspext.as"は誤って入れたもので、このプログラムに
関係ありません。それとshotfulgのflugはflagの間違いです・・・
スペルミス・・・恥ずかしい・・・orz
RPGなどのHP表示を font "times new roman",15 pos 0,0 : es_fmes ""+hp こんな感じで書いてるんですが、 右そろえにすることはできますか? 9999/9999 100 /9999 ↑ここを右そろえにして隙間を埋めたい 今はif文使って桁毎にposを変えてるんですが、他にいい方法があれば教えて下さい。 あとゲージの表示なんですが repeat 100 * hp_now / hp_max color 0 ,0, 55+(cnt*2); es_exboxf 6+cnt, 1, 7+cnt, 2 es_exboxf 5+cnt, 2, 6+cnt, 3 es_exboxf 4+cnt, 3, 5+cnt, 4 es_exboxf 3+cnt, 4, 4+cnt, 5 es_exboxf 2+cnt, 5, 3+cnt, 6 es_exboxf 1+cnt, 6, 2+cnt, 7 loop 今こういう感じでboxf命令使って描いてるんですが、ものすごく効率が悪い気がするんですが、 普通はどういう表示のさせ方がいいんでしょうか?
>>521 一番簡単なのはsokudoを増やしていくことかな...
とりあえず螺旋描けるようにガンガレ
k=0.0
s=8.0
font "",4
repeat 10000
x=sin(k)*s
y=cos(k)*s
k+=0.02 ;or 0.2
s+=0.1
pos x+ginfo_winx/2,y+ginfo_winy/2 :mes "●"
loop
stop
>>521 kakudo(cnt) += kaiten
repeat kazu
if shotflug(cnt) = 1 : {
idoX(cnt) = cos(kakudo(cnt)) * sokudo
idoY(cnt) = sin(kakudo(cnt)) * sokudo
shotX(cnt) - idoX(cnt)
shotY(cnt) - idoY(cnt)
pos shotX(cnt) , shotY(cnt) : es_mes "○"
}
loop
で良いんじゃないのか?
>>522 strf関数使って、4桁表示とかにすれば良いのでは?
>>522 どうしてもTrueType使いたいならginfoの14で文字列の幅を得られるけど
桁毎posでも全然構わない。
ゲージはよー分からんけど
始めからグラデの掛かった画像を拡縮でもすればいいのでわ
てか、このes_exboxf命令は4点の色指定するだけでグラデできるのね。
526 :
名前は開発中のものです。 :2006/10/21(土) 13:51:26 ID:+0JY+Fq9
>>522 > ↑ここを右そろえにして隙間を埋めたい
a=100
b=str(a)
i=4-strlen(b)
pos 8*4,50:mes "/9999"
pos 8*i,50:mes b
>今こういう感じでboxf命令使って描いてるんですが、ものすごく効率が悪い気がするんですが、
100%の画像を一度作って、裏にコピーしといて
必要な部分を表にコピー
527 :
522 :2006/10/21(土) 15:01:01 ID:QVizRA77
>>525 posでも大丈夫なんですね。
>>526 なるほど。
1ドット増えるごとに画像用意しないといけないのかと思ってました。
ついでなんですが、
color 0 ,0, 255
es_boxf 0,0,100,100
color 0 ,0, 255
es_exboxf 100,00,200,100
RGB値を同じにしてもなぜかes_exboxfだとR値とB値が逆になるのですが、これはバグですか?
上の例だとes_boxfが青色になって、es_exboxfが赤色になるんですが。
>>527 >上の例だとes_boxfが青色になって、es_exboxfが赤色になるんですが。
hspdxfix作者さんとこのBBSで同じような書き込みがあった気がする
行ってみ
529 :
名前は開発中のものです。 :2006/10/21(土) 16:56:28 ID:ydtvZ45o
┏━━┓ ┃○○┃ ┃ ┃ ┃△△┃ ┃ ┃ ┃□□┃ ┗━━┛ ┏━━━━━━━━┓ ┃○○を□□します ┃ ┃ ┃ ┗━━━━━━━━┛ 左上の四角に表示される文字にマウスポインタを合わせると、 下の四角に説明が表示される、上のAAのようなプログラムには、どの命令を使えばいいか分からないので、 教えてくださったらありがたいです。レスがいただけたら、今日か次の金曜日か土曜日に返信します。
ごめんなさい、もうひとつcls命令を使わずに画面に表示されている文字などを変えるにはどうすればいいですか?
#moduleで似非オブジェクト指向すれば。
535 :
521 :2006/10/22(日) 01:06:04 ID:hN4+rlOE
536 :
名前は開発中のものです。 :2006/10/25(水) 00:00:14 ID:CgILBXBe
ちょい基本的な質問よいですか。 ループ中の処理についてなんですが、量が半端ないので 中身の無駄に気をつけたいと思っとるんです。 repeat 10000 if a=1 { // 処理1 } if a=2 { // 処理2 } loop という場合と、 repeat 10000 if a=1 { // 処理1 } else { if a=2 { // 処理2 } } loop という場合ではどっちが高速に動きますかね? 分岐がもっと増えれば後者のほうが速いと思うんですが、 上のように分岐が二通りの場合でもelseを使うほうが良いのでしょうか。 それから、上のような例だとswitchマクロも使えると思うんですが、 その場合マクロを展開するとどういう風な構造になるんでしょうか?
else使った方が速いかどうかは計測すりゃいいじゃん。
>>536 ものぐさボウズに代わって調べてみた。aの値の範囲により変わる。
aが1か2にしかならないのなら、どちらの方法でも速度は変わらない。
aが1と2以外の値(0,3,4,5…)にもなるのなら、後者のほうが速くなる。
速度を気にするなら、switchマクロは使うべきではないが、
switchマクロがどう展開されるか気になるなら、プリプロセッサ命令
#cmpopt ppout 1
をスクリプト先頭に書いて、出力されるファイルhsptmp.iを確認すれ。
『a』の値だけしか調べないなら、処理1を行った後にbreakで良さそうな。 breakの速度って気にしたことなかったので、高速化に役立つかどうかわからんが。
うほ、レス速w
>>538 やっぱ、2通りならどっちでもいいんですね。わざわざ調べていただいて申し訳ない。
でも、一般的にはelse ifのほうが普及してるんでしょうかねえ。
まぁ誰かと一緒に作ってるわけじゃなし、孤独な私にゃ関係ありませんがw
>>539 break,returnなど、飛ばせるとこはガンガン飛ばしてるんですが
>536はあくまで一例で、ループ中にはわりと沢山処理が書いてあるもんで。。
『a』は特に配列ですが、いくら例でも10,000はやりすぎたので反省
書き忘れ マクロが遅いってあたりもよく心得ておこうと思うデスヨ
何故自分で試さない??
>>541 なんか誤解してそうな感じがするんで、念のため…。
#defineとかのマクロは、文字列を置換してるだけだから、マクロ自体では実行速度は変化しない。
マクロが遅いんではなくて、
HSPでは switch〜case文 をマクロで実装してて、switch文をコンパイルすると
無駄な条件判断やジャンプを含んだ記述に置換されるので、実行速度が遅くなる─という話。
;------------
switch a
case 1
処理1
swbreak
case 2
処理2
swbreak
swend
;------------
は、以下のように展開される。
;------------
_switch_val= a: if@hsp 0 {
_switch_sw++} if@hsp _switch_val == ( 1) | _switch_sw { _switch_sw = 0
処理1
goto@hsp *_switch_0000
_switch_sw++} if@hsp _switch_val == ( 2) | _switch_sw { _switch_sw = 0
処理2
goto@hsp *_switch_0000
} *_switch_0000
;------------
結局やらされるあたり、某猿の手口が想い起こされるな。
HSPしか使えない奴って腐ってるな
ごめんなさい
ごめんなさい
ごめんなさい
結局やらされるって、そりゃないだろう。何それ?
もうレスは完結してるのに自分で勝手にやったんだろう?
教えてもらった君が言うのもなんだが、ちょっと暴走してるんじゃないか。
マクロのことも、展開した形に直されて実行されると知っているから、
"展開したらどういう構造になるのか?"と聞いたわけ。
そうしたら、"速度を気にするのなら使うべきではない。が、どうしても構造が気になるならファイル出力して見ろ"と
返答をいただいた。
これはつまり、マクロは遅い、少なくともマクロを使うことで手打ちよりも速く最適化されるわけではないって言ってるんじゃないの?
これは、マクロが実行速度を落とす(結果論)以外の何にあたるの?
一体誰が、マクロで実行速度が遅くなる"理屈"を聞いたんだよ。そこも勝手な勘違いだろう。
マクロを使うと実行速度が遅くなる、 答えは YES これでいいんだろ? これが結果だろ?
それが
>>541 の"マクロが遅い"ってことだろ?
何を余計な理屈を言って、それで"結局やらされる"ですか?w
結局やらされるってw
お前、どんな内容であろうと、叩くか、人の足元見て博識ぶって偉そうにするかしか能がないだろ。
やらされたくなかったらレス自体しなければいいこと。
レスさえしなければ、俺の質問は流されて終わるか、他の誰かが知識を分けてくれるか、ただそれだけ。
HSPしか使えないやつというより、俺も含めてこのスレ全体が腐ってるんじゃねーか。
俺と同類だよ同類。俺もこの程度でファビョンするくらいだから低俗なんだろうがな、
お前らも同等な低俗さだよ。同じような人間として言わせてくれよな。否、同じ生き物として認めたがらないんだろうけどな。
まぁ、このレス以降もう来ないから、テキトーに釣られときな。
教えてくれてありがとーな。
ワロタ
まさかここまで酷いとは思わなかった
うわ〜
>>548 が腐ってるぅ!!
ダスキン呼んで綺麗にしてもらわなきゃ
>>548 すごい反応が返ってきたな…。
よくわからん部分で怒ってるみたいなんで、返答に困るが。
まぁ、hsptmp.iを確認した様子がみられなかったうえ、
誤解が生じていたみたいだったので、ついでにレスしたまで。
ちゃんと理解が進んだ様子がみられていたなら、追加レスはしなかったよ。
まず、「マクロ」という単語に対する認識が、
キミと俺とで違っているのを理解してほしい。
「switch〜case」文は、マクロの用途のひとつの形。
その上で、遅いのは「マクロ」でなくて、HSPの「switch〜case」文だと言っているだけ。
>マクロを使うと実行速度が遅くなる、 答えは YES これでいいんだろ? これが結果だろ?
追加レス前に危惧した通り、理解が進んでいないというか、
こちらの言いたいことが伝わってない事が分かるんだが…
答えは NO なんだよ。
「マクロ」では実行速度は遅くならない。「switch〜case」文で遅くなる。
─とか書いても、見てないんだったな。
HSPDXFIXでのエフェクトについてなんですが パーティクルについて、一つの画像を複数表示させて加算合成で 具体的にどういう処理をしていいのかわからないので、そういうのが載ってる書籍かサイトありませんか? HSPでやると重そうなのでテクスチャでやったほうがいいのかもしれませんが…最近のPCだと大丈夫かなと思って試しにやりたくて^^; あと、マウス座標の取得なんですがフルスクリーンでのやりかたはわかるんですが、 HSPDXにするとMousexとMouseyが使えなくてウィンドウモードのときのマウス座標の取得方法がわかりません。 どうすればいいのでしょうか?
お前からスルーしとけ
このスレには面白い人がたくさんきますね
HSPの公式掲示板にもヘンなヤツがちょくちょく現れるようになったが、 ここも例外ではないということか
取りあえず0ZFcyUy9の脳細胞が愉快なことになってるってことは分かった。
>>556 言語としての敷居の高さと、厨出没率の高さは反比例するんだろうな。多分。
まぁ、CでもDXライブラリの公式あたりには「ンなことテメーで調べろ」な質問かます奴は多いが。
HSPでセーブデータを保存する時テキスト形式で保存するにはどうしたらいいですか? iniファイルみたいにメモ帳などでいじれるようにしたいのです。
悪い事は言わん。 bsave使え。
bsave使って保存したデータをメモ帳で開くと変換されてるじゃん もしかしてiniのように保存するのって大変なの?
シューティングゲーム作ってるんですが、ポーズが上手くかかりません。 getkey Pkey,80 if Pkey=1 { wait 10 repeat getkey Pkey,80 wait 10 if Pkey=1 : break loop } というように書いていたんですが、これでは押しっぱなしでコマ送りに出来てしまいます。 stick使う以外で、「押しっぱなしでコマ送り化」を回避する方法ないでしょうか?
変数使えよ低脳
これは酷い。 ゆとり教育の弊害というやつ?
>>563 押しっぱなし!?、押してなくてもそうなるのか異常だな
Pkey=0で戻してみれば?
そういえばrepeat は-1使えなくてもいいのか
あ 言葉足りなかくて済みません。 「押しっぱなしにするとコマ送り化」してしまうんです。
569 :
563 :2006/10/27(金) 01:09:34 ID:Mv99eIH1
言葉足りなかくて→言葉足りなくて
getkeyが何を取得するのか調べて、何が悪いのか自分で考えるべし。 以上。 マに必要なのは、自己解決能力。
563はボムとか作るときどうするんだろうw
572 :
563 :2006/10/27(金) 03:54:32 ID:Mv99eIH1
WEBで講座見て、更には20行近いですが、やっと出来ました。
>>574 ウィンドウモードでも普通にMousex,y使えるぞ
>>529 ですが、
>>530 について解答有難うございます。
>>529 は無理に実用化しなくてもいいんで、今回作るゲームでは他の方法を試そうと思います。
>>575 hspdx.dllかhspdxfix.dllを使ってmousex mouseyをどうやったら使えるようにできるんですか?
普通に使ったのでは使用できないんですが、mousex mouseyが使用できるようにする方法教えて下さい。
いや、ほんとに普通に使えるんだけど、環境によるのかな?(HSP3.0 + 標準で付いてるHSPDX.dll) #include "hspdx.as" es_ini es_screen 640,480,8,3 *main mx = mousex : my = mousey title ""+mx+" "+my es_cls 0,0,255 : es_sync : await 1 goto *main
wait入れないと、取得できないとかじゃなかったっけ?
580 :
577 :2006/10/27(金) 17:45:19 ID:Dl1nn9Lx
説明次のレスでします。 #include "hspdxfix.as" es_ini es_screen 640,480,8,3 mouse -1 buffer 1,256,256 picload "image.bmp" es_buffer 1 es_size 8,8,100,1 es_expat 0,1,0,0,0 es_set 0,0,0,0,1,1 es_type 0,1 *main es_cls 255,255,255 es_draw es_sync : await 1 //mousex こっちでは動かない //mx = mousex : my = mousey //es_pos 0,mx,my //ginfo こっちでは動く //mx = ginfo_mx : my = ginfo_my //es_pos 0,mx,my goto *main
>>578 画像とか何も使ってなければそれで問題ないのですが画像を使うと白い線みたいなものが入ったり文字化けみたいになったりします。
mx = mousex : my = mousey ;この二行では動かなくて
es_pos 0,mx,my ;
mx = ginfo_mx : my = ginfo_my ;この二行に置き換えると動くようになります。
es_pos 0,mx,my ;
また、例えば↓みたいに文字だけなんかの時も問題なく動くのですが、同時に画像を表示していたりすると動かなくなります。
#include "hspdxfix.as"
es_ini
es_screen 640,480,8,3
*main
es_cls 0,0,255
mouse -1
mx = mousex : my = mousey
pos mx,my
color 0,0,0 : es_mes "○"
es_sync : await 1
goto *main
>>582 おおッ!ありがとうございます。それで解決できそうです。
HSPTVのコンテストスペシャル番組を見た。すげえ!本当のテレビ番組みたい。
本当だ。TV番組っぽい。 しかし、17日に公開したらしいけど、どこにも宣伝してないのな。 HSPTVなんか起動しないから気づかないよ。
俺も気付かなかった。 しかも俺が投稿したものが別のジャンルで紹介されていて非常に吃驚した。
意外とちゃんとした番組っぽくなってて、最後まで見れてしまった。
なんであんなにカメラ引いてんだ?
TVって一時停止や早送りとか出来ないのか? コンテスト作品紹介番組見たけど長いんで、 自分の作品を確認したらもう閉じたよ。 あと一部作品のゲームのBGMのボリュームが大きくて、 なに喋っているのか聞き取れなかった。
画面下にある緑色バーにマウスカーソルを移動したら制御ボタンが表示される
俺の作品紹介されなかった、写った奴うらやましい まあ応募すらしてないわけだが
受賞発表も、テレビ番組形式にしてほしいな。
おにたま(笑)
コンテスト作品ずいぶん増えてる。 いろいろ、面白そうなのダウンロード中
今年のやつ全然チェックしていないけど なんか良いのある?
レビューは荒れる原因になるから、怖いな〜 「この作品おしい!ここが改善されればな〜」とか勝手に思ったの結構あったんだけど、 荒れると嫌なんでそういうこと書かずに、個人的によかった作品だけチョイス。 あと、さっきダウンして遊んだものばかりで、やりこんでない人間の感想です。 ○No.278 トイレでgo!3 ストーリーはおいといてちゃんとした弾幕ゲー。 2面のボスが・・・。 ○No.382 いや☆ぼーん シューティング。操作にくせがあるけど、誘導レーザーが気持ちいい。 ○No.400 ブルマ戦士の奮闘 音ゲーというかバカゲーというか。 でも、3Dキャラが、踊るはしゃべるはで作りがすごい。 これが最優秀賞になるんじゃないかな。 もちろん、他にも面白そうなのいろいろあったよ。
3Dソフトがいっぱいあって参考になるね みんなhgimg3を使っているんだろうか
ちがうか メタセコでモデリングしてRockDeBoneでモーションづくりしE3DforHSPで動かす のが通例か ふむ。全部フリーソフトで済んでしまう
#314 バラレスの魔城が面白かった。30分で終わるとあったので、ちょっとやってみたら、 3時間位はかかってしまったが、最後までプレイしていた。
『ライヂング☆スター』シリーズのように、画面をいくつかに分けるにはどうすればいいですか? そして、インターネットブラウザのようなスクロールバーを表示するにはどうすればいいですか? 画面を分けるのはメニュー画面でステータスとメニューボタンなどを分けるのに使い、 スクロールバーは戦闘などのログや技選択に使おうと思っています。 教えてもらっても、お礼のレスは遅れるかもしれません。
>教えてもらっても、お礼のレスは遅れるかもしれません。 ワラタw
>>597 >○No.382 いや☆ぼーん
これどっかのスレで見たような。
コンテスト出してたんだな。
>>602 今日か明日中ならその日のうちにレス可能です
年々レベル高くなってきてるな
>>601 ヘルプに載っているだろうと思ったが俺の探し方が悪いのかなかなか見つからないな。
mesboxじゃmes命令みたいに変数の中身を表示できないっぽいし(出来るなら方法を教えて下さい)
listboxやcomboxもなぜか試してみたけどうまくいかないし。
私にも
>>601 の内容を誰か教えて下さい。
607 :
606 :2006/11/03(金) 19:48:42 ID:G55zAz5Z
>>601 screen命令でウィンドウを複数表示できる。
スクロールバーのつけ方はわからないけど、
公式BBSで見たことあるような。
以下 サンプルソース
screen 0,640,400
screen 1,640,80
gsel 0
button "ボタン0",*action0
gsel 1
button "ボタン1",*action1
*main
stop
*action0
gsel 0
mes "ボタン0押したよ"
goto *main
*action1
gsel 1
mes "ボタン1押したよ"
goto *main
>>608 ありがとう。いまから寝るので今日は無理だが、あした試してみる
>>600 ああ、あれ結構面白かった。
すぐ終わるかと思って始めると、意外と難しいし、よく出来てた。
>>601 『ライヂング☆スター』シリーズというのはやったことないが、ググッて画面だけ見ると
どうもナントカboxとか使わないで素直にゲ製作の定石で作った方がいい気がする。
なぜなら、mesboxだのなんだの使うと、ゲ製作の定石であるメインループをぐるぐる回す
形ではなくナントカboxのボタンを押すとサブルーチンを呼ぶ形になるからだ。ツールを
作ろうというのならそれでいいかもしれないが、ゲ製作だとどつぼにはまりそうな気がする。
また、HSPで用意されているboxしか使えないのだから、
>>601 が聞いてるように、一つの
box内を二つに分けるにはどうすればいいの?とか、あるいは
>>606 が聞いてるように、
変数の中身をbox内に表示したい時はどうすればいいの?とか、自分のやりたいことを
実現するには何boxをどう使えばできるのか分からなくてどつぼにはまる。
ゲ製作の定石では、メニュー画面をステータス画面とメニューボタン(メニュー項目?)が
並んでいる画面の2つに分けたければ素直に2つの領域に分けて描画する。領域は自分
でデザインして普通に絵を描画するのと同じ方法で表示する。ツールバーも自分で作って
それをドラッグすればスクロールするようにプログラミングする。まあ普通は下キー押すたびに
項目が上に上がっていくようにプログラミングするんだけど。ツールバーなんて作らない。
>>606 mesbox内にはたぶん一つの文字列型変数の中身しか表示できんと思うよ。だからすべてを
一つの文字列型変数に直してから表示させる必要がある。例えば「料金はa円です」(a
は変数)と表示させたければ
b="料金は"+a+"円です"
としてbを表示する。
たぶんmesboxはキャラのセリフを表示するくらいにしか使えない。メニュー項目を並べて
選択させるとかステータスも表示させるとかになってくると何box使えばいいんだか俺は
知らん。どつぼだ。
漏れもグルグル回す派だな。 自分で描いた方が使い方覚えなくて良いから圧倒的に楽だな。
613 :
606 :2006/11/04(土) 09:43:10 ID:Uxn6e3rM
>>611 なるほど、領域ですか。それは考えもしませんでした。
確かにbox系命令はどう使えばいいか分かりません。
それなのにbox系の命令を使おうとした私がバカでした。
それで、mesboxはセリフ表示ぐらいにしか使えないのですか。いいことを教えてもらいました。
早速貴方の教えてくれた領域を使う方法を試してみます。
HSPのEasy3Dを使ってQuake3のようなゲームって作れますか?
ひさびさ、「○○作れますか?」レスが、 あったと思ったら自己解決かよ。
しかも気づくまで30秒…読まずに書き込んでるのがよくわかるな。
4に戻ったのはある意味偉い 俺だったら読まないw
レス書いてから、 4を見つけて、すぐに自己レス。 この間、わずか約30秒、実はすごい能力の持ち主。
素晴しい。 きっとコーディング能力も高いのだろう。
621 :
名前は開発中のものです。 :2006/11/05(日) 00:27:08 ID:dhzc9xYU
やっぱその「30秒」は凄い「30秒」なんだなあ・・・
逆に作れないものってあるの?
ある程度大きな規模で、小回りの効く処理が必要不可欠なもの。
625 :
596 :2006/11/05(日) 05:49:01 ID:cGmPBvF2
遅レスだが
>>597 サンクス
他にも色々やってみたけど
ジョイパッドに対応していないアクションゲームのなんと多いこと。
(ショートならともかく、なんでSTGとかでも…?)
方向キーふたつとスペースを同時に押すだけでアラームがなる
うちのキーボードでの某3Dゲームは辛かった。
操作系や時間待ちにイライラするゲームが多くて
テキストメッセージがトロくてskipできないのも多いし
肝心のゲームが面白いのになんでこんな…ってのが
○No.400 ブルマ戦士の奮闘
は、せっかく面白いのになぁ…
#400 いちにさんし☆
#265 ペンペンパニック やってみたいがDirectX9c必須 インスト面倒なんであきらめた
>>623 全体のコードが2万行以上とか。
データ構造が複雑で巨大な気配があるとhspで作るのは止めた方が良い。
何より機能が貧弱なのが痛い。
純正エディタがエラー吐いて強制終了のは何なんだ?
631 :
名前は開発中のものです。 :2006/11/05(日) 19:02:59 ID:o4vIFxJS
コンパイル時にエラー表示すらされず落ちるって事だろ。たまになるよ。 コードのどこか原因かわからなくて困るんだよな。 原因っぽい個所を消してみたりして根気よく探すしかない。 {を}で閉じ忘れていたりする事が多い。
引数と別の関数との名前が被っていても、コンパイル時にエラーが出ないのは苦しい。
>>632 同感。
似たようなことにラベル?(間違いスマソ)と関数?(以下同)が同じかなんかでエラー多発したこともあった。
ただ、デバッカ?(以下同)で関数一覧が出るのはうれしい。
タイプミス(graphic【grap】→gra(f)hic【graf】)とかやってのエラーを見つけられるから。
(それでもまたやるんだけどね。)
サブ画面に関数名登録できて押すと入力…なんてのがあると助かるな。(作ってるのだが、HSPで実現ムズイ所に↑のでロクに進まない。)
質問。 HSPで他言語は取り込むことは出来ますか? (DLLを使わずに)
muri
636 :
名前は開発中のものです。 :2006/11/06(月) 20:27:47 ID:NgNv+ex8
配列のことで質問が 1次元なら dim a,10 a = 1,2,3,4,5… で済むけど、多次元配列の時で各次元の要素に簡単に代入できる方法ってある?
>>636 dim a,3,2
a(0,0) = 1,2,3;a(0,0)に1、a(1,0)に2、a(2,0)に3が入る
a(0,1) = 4,5,6;a(0,1)に4、a(1,1)に5、a(2,1)に6が入る
mes a(0,0)
mes a(1,0)
mes a(2,0)
mes a(0,1)
mes a(1,1)
mes a(2,1)
二次元配列をforでいろいろやるときは C言語とかと逆になるの? for(i=0;i<100;i++){ for(n=0;n<100;n++){ a[i][n]=4 } } ;HSP for i,0,100,1 for n,0,100,1 a(n,i)=4 next next うまく説明できないけどこのプログラムで i と n を 逆にすると処理時間が大分違うらしいとか聞いたことあるけど(メモリやらなんやらで)
内部ではSTLでも使ってるの? だとすれば処理速度が違うというのも納得がゆく。
はぁ?バカか。
計ってみたが100だと全然変わらないな どっちも1000にすると若干変わるみたいだが 気になるならgettimeで調べてみれ
っつか、ちょっと試してみたら for nextよりrepeat loopの方が 2倍くらい早いじゃないかw
>>636 goto *Main
#module
#defcfunc beki int n
m=1
repeat n
m=m*100
loop
return m
#global
*Main
dim b,4
b=270415,615282,732902,014791
dim a,4,3
repeat 4
i=cnt
repeat 3
a(i,cnt)=(b(i)\beki(3-cnt))/beki(2-cnt)
loop
loop
repeat 4
i=cnt
repeat 3
mes "a("+i+","+cnt+")は"+a(i,cnt)
loop
loop
647 :
名前は開発中のものです。 :2006/11/09(木) 02:46:52 ID:4AYZHSgg
貼ってから思った。ここはゲ製作技術板。HSP初質のほうがいいんじゃないかと。 そんなわけで甜菜してくる。
>>648 INIファイルの勉強になる、ありがとう
中ボスを倒すとその装備品が自機のものになるのは斬新だな。 最終面くらいになると強さがインフレしまくってるが
652 :
名前は開発中のものです。 :2006/11/11(土) 14:41:15 ID:OdM3W7kq
誤爆?
ロックマンだなw
なんか新しいのが来てるっぽいな
かんたん入力って流行らなそうだよな rnd関数に上限以上の値をそのまま突っ込んでたりとか、マジでひどいな
656 :
名前は開発中のものです。 :2006/11/15(水) 01:11:23 ID:0P4ryiM9
コンテスト一次審査発表って今日の0時じゃないの? 15日の午前0時= 14日の午後12時 = 14日の24:00 =15日の0:00 ではないのですか? 作品の応募締切が 11月01日午前0時=10月31日の24:00 までだったことを考えると、 15日午前1時を過ぎても発表しないのはおかしくね。 おにたまの怠慢かよ
おかしいのはお前の頭
いや、分からん。 おかしいなら認めるから、どうぞ訂正してくれ。
659 :
657 :2006/11/15(水) 03:19:39 ID:Y/ePitV4
素で返しやがって…w 別に間違ってないよw
さて、華麗に弄ばれたわけだが。 (´・ω・`) (´・ω・`: (´・ω・:; (´・ω;:. (´・;:',. (´;.:', (:;',. :';., ;.', ', . . ふぁ
>>656 マジレスすると、15日の0時ってのは15日と16日の間が正しい。
数年前に世界標準規格って事で決まった。
この時24:00という表現が無くなって、これが0:00になったんだわ。
1日は0:01から始まって23:59になり、0:00でその日が終るというややこしい規格。
この事は検索すれば出てくるかと。
だから15日の0時ってのは15日の最後って意味だから15日と16日の間って事になる。
>>661 オオ、そんな規定が世界標準だったのか。わざわざありがとう。
まぁ、数字を0から数えるっていうのはもともとプログラマや数学者寄りの
考え方だしねえ。
でも、だからって0が最後ってのは変だよね。
これ以上はスレ違いだから控えておこう。
でもさー、朝起きたら一次審査発表されてた。
やっぱりおにたまの怠慢だったかもしれねw
応募総数 435作品 一次審査通過 130作品
超図解ビギナーズ付属のタイピングソフトがHSP製だとは思わなかったよ。
DSidebarにコメントつけてる粘着が見苦しい件
本人乙とか言われる悪寒
俺は一次通過したのにユーザーの総合評価が一桁なんだぜ。 正直入選しなくてもどうでも良い。
>>668 ごめんなさい・・・。
ってかマジレスするとDLもしてねーしコメントも付けてないけどさ。
信じる信じないは別として、毎度ユーザー評価ページを開くたびに
愉快なコメントが付いてるのは見苦しいことこの上ないよな。
一次審査訂正されてるぞ。
それにしても多すぎませんか
マジレスすると、おおいな
マジレスしなくても多いよ。
675 :
名前は開発中のものです。 :2006/11/16(木) 20:20:06 ID:Zjgn9Ef5
676 :
名前は開発中のものです。 :2006/11/17(金) 00:35:08 ID:Sv9x778z
どうしても分からないことがあるので、質問させてください。 input命令の入力できる最大文字数の指定のことですが、たとえば旧バージョン なら最大文字数が10とすると、半角10文字全角5文字になりますが、HSP3で、 OSがwinxpですと、半角でも全角でも10文字になります。 ゲームで名前を登録する時、半角10文字と全角10文字では名前の長さが倍違いま すし、名前を表示するスペースにだって限りがあります。ましてやXPとそれ以外 のOSとでは文字数も違ってきます。 みなさんは、どのように対応していますか? どうか教えてください。
strlenで文字列の長さをチェックしてみるとかはどうかな
マルチ乙
HSP3に魅力を感じないな C言語風な書き方が出来るような仕様になってるみたいだが、 そんなんだったら まぁ、後は言いませんけどね!
独自路線を突っ走るよりも他の言語に似ていたほうがやりやすい。
計算処理スピードは向上したらしいが 文字列操作が2倍も3倍も遅くなっているのでは本末転倒
>>676 XPの仕様に合わせて、半角全角に関係なく10文字までしか入力できない仕様に
すればいいんじゃね?で表示する時には幅をそろえたければ半角を全角に直して
から表示するとか。
ってマルチならもう誰かが答えてるか。
>>682 テキストエディタとかだったら困るかもしれないが、ゲ製作なら計算処理スピードが
向上した方がいいんじゃね?
ゲとしては浮動小数がやっとサポートされたのが最大じゃないか? つうか2.6のとき3Dなんかどうやってたっけ?
浮動小数がサポートされたのは慣性移動に大きな影響を与えたと思う。 ミスすると整数型になるのはかなり痛いが。
687 :
名前は開発中のものです。 :2006/11/17(金) 23:52:11 ID:pyavq8Nu
.0を忘れるとint型に
ddimで実数型配列にしといても int型に変わっちゃうんだよなあ
型が簡単に変えられるのはバグを生みやすくしてる。 が 逆に簡単に型変えられるからイインダヨ!
690 :
名前は開発中のものです。 :2006/11/18(土) 01:09:29 ID:B/9SCYiG
型がすぐに変わるからバッファ変数が少なくて済む
整数型なくてもいいと思うんだけど。
っておにだまもいってたらしいが、ビットシフトとか論理演算したいときに困らないか
693 :
名前は開発中のものです。 :2006/11/18(土) 03:04:47 ID:titoQW5S
ぶっちゃけ固定小数LOVE
694 :
名前は開発中のものです。 :2006/11/18(土) 03:49:43 ID:yJ2EBjSy
>>690 実数型より整数型のが早く読み書きできる
(1要素4バイトと8バイトの違いもあるし)
配列操作がもっと軽くならないかなぁ
695 :
名前は開発中のものです。 :2006/11/18(土) 03:51:11 ID:yJ2EBjSy
691へのレスでした・・・
型を簡単に変えれるけど ミスって変わったりしにくい仕様にできないかな?
>>692 困りません。
JavaScriptは整数はありませんがビットシフト、論理演算は出来ます。
>>694 >実数型より整数型のが早く読み書きできる
ぶっちゃけHSPレベルでは
その他のオーバーヘッドがでかすぎるので速度は変わりません。
>(1要素4バイトと8バイトの違いもあるし)
1万という大量の整数値でもたった80KBしか変わりません。
80KBを本当に心配するならHSP自体を使うのを止めるべきです。
80KBじゃない、40KBね
つまり整数型なくしたほうがミスりにくくて合理的なのか。 んで おにたまはそれに気付きつつ実装しないのは何故なんだぜ?
互換性に問題があるのかも。 あと、JavaScriptに整数型あるような。
701 :
名前は開発中のものです。 :2006/11/18(土) 12:52:15 ID:B/9SCYiG
実数型は見た目が邪悪
40KBって相当でかいからw ループさせたらどんだけ差が出ると思ってるんだよ。 大体浮動小数の計算と普通の整数の計算で速度が変わらないって 言ってる辺り、素人丸出し 表現方法の形式が違うことすら知らないんじゃないのか?w
wとか付けてる時点で厨房丸出しなんだが
おや? あなた
>>697 ですね。
自分に都合が悪くなると、
話を逸らして「w」論争に持っていく辺り能無し厨房丸出しなんだが
>>702 同意するわ
大分違う気が・・
個人的に小数の精度あげろって騒いでる連中の気がしれない。
HSPで実数の精度あげるメリットがないだろってプラグイン使えよって
あと、今回のバージョンアップのinput改善以外はなんだか意味分からん
706 :
名前は開発中のものです。 :2006/11/18(土) 13:43:01 ID:inTM4s7N
携帯自演乙 という展開になる予感
>>700 Numberしか無いですよ。でNumberは浮動小数点数です。
>>702 >40KBって相当でかいからw
はぁ、そうですか。
それは一般的なHSPのソフトが、どのくらいメモリを使うか知ってて言ってるんですか?
こう書いてますよね?
>80KBを本当に心配するならHSP自体を使うのを止めるべきです。
って。読めないんですか?
>大体浮動小数の計算と普通の整数の計算で速度が変わらないって
>言ってる辺り、素人丸出し
残念ですが、素人はそっちですよ。
>>ぶっちゃけHSPレベルでは
>>その他のオーバーヘッドがでかすぎるので速度は変わりません。
と書いてあるのが読めないのですか?
HSPが、というか型付けが弱く、直のマシン語を吐き出さない言語が
どういう風に実装してるか、貴方には想像できないんでしょうね。
なんか難しくてようわからんが 書きやすいほうでいいんでね
簡単に言うと、 整数やめて、倍精度浮動小数点数だけにしたら それらの計算の混乱もなくなるから書きやすい! デメリットもたいしてない!ってこと FlashのActionScriptもJavaScript同様整数はありませんよ。 スクリプト言語ではそういう実装が結構あります。 倍精度浮動小数点数は、32bit整数値を全て表現できるし、 スクリプト言語な時点で速度もメモリ効率も 他のオーバーヘッドの所為で大した違いになりませんから。
ただでさえ遅いのが遅くなるのに、 オーバーヘッドとか関係ねーし 1時間掛かる作業が1時間1分になろうと、 30秒掛かる作業が1分半になろうと遅くなってる量は同じ。 錯覚すんな
つーか早くて軽いにこしたことは無い
712 :
名前は開発中のものです。 :2006/11/18(土) 14:29:33 ID:inTM4s7N
オーバーヘッド厨という新しい生き物が沸いてるな(ワラ
>>710 お前、ホントにバカか。
遅くならねーっつてんだよボケ!
メモリ使用量調べたか?
黙ってろカスが!
714 :
名前は開発中のものです。 :2006/11/18(土) 14:34:06 ID:6AYtFGvW
ワラタw
今みんないいパソコン使ってるから プログラマーは何も気にしなくていいよー^^
なんとぉ! オバヘ厨が核心をつかれ発狂だあぁ! 面白い展開になって参りましたぁ!
717 :
名前は開発中のものです。 :2006/11/18(土) 14:40:23 ID:cWdJzjpe
時代を感じるね
ここまでのバカは久しぶりに見たな。
反論できねーと「ワラタw」で逃げるお決まりのパターンか。
>>716 お前も文章読めないの?
どうやったらこんなバカになるの?
さっき自演扱いしてたけど、お前等こそが自演じゃないの?
こんなバカが2人と同時に現れるわけねーよ。もしくはバカ兄弟か?
>核心をつかれ
核心どころか、まるであさっての方向を突付いてる頭の悪さが問題なんだよ。
整数型の型宣言している表記(var i:integerとか)を見た記憶があるから、 いまの JavaScriptには整数型あるのかと思ってた。 調べたら動くのはないね。 みたことあったのは、JavaScript2.0の仕様だったみたい。
>>718 的には、メモリの使用量が多ければ多いほど、更に
他の処理(オーバーヘッド(笑))で時間を食っていれば、
細かい処理速度は気にしなくてイイという都合のよさになるみたいだな
うはw
ワ ラ タ w
>>718 ,720
子供じゃないんだから、噛み付きあわないで・・・
まぁHSP関連はいつもこうだけど
うん、騒ぐことじゃない。
マジレスで自演だとか言い出す。 そこにシビれる、憧れるぅ。
>>720 …本当に頭わりーなぁ。
細かい処理速度も糞も、整数を浮動小数点数にしても
処理速度は変わらないっつってんだろ。
つーか、オーバーヘッドって単語聞きなれなかったのか?お前。
それはそんなレッテルはれるような単語じゃないぞ。
いやいやあ、関係ないのに必死にオーバーヘッドのせいにしようとしてるから^^; 分かった、分かったよ、俺が悪かった。だからもうレスしないで>< ごめんね・・・!
727 :
名前は開発中のものです。 :2006/11/18(土) 15:13:22 ID:cWdJzjpe
>>726 卑屈にならないで、かといって傲慢にならないで
鳥になって空を飛びたい!!(゚Д゚#)
と、キチガイになってみる
はぁ、お前「オーバーヘッド」の意味分かってないんだな。 分かってないなら「わかりません」って素直に言えよ。 わかってるなら「関係無い」とか云えないから。 バカは最後までバカか。 ID:6AYtFGvWとID:inTM4s7N、バカ兄弟仲良くHSPがんばってね。 お前の知能じゃ、HSPすら難しいだろうけど。
あと、指摘しといてやるけど 「レスしないで」 ってのは、典型的な2chの負け犬のパターンだぞ。 お前がバカレスしなければ、相手もレスしないんだから。 「反論はできない。でも最後に発言しとかないと気がすまない」ってバカパターン。 理解できるかな? お前に残された次のパターンは、このスレを閉じて逃げることだ。
ただのシステム負荷だろ。 浮動小数点数は整数演算よりも遅いのは間違いない、 というか常識でございますので、 オーバーヘッド(システム負荷)とは関係ありませんよね。 だいぶ最初のほうで言ったが、 あなたは浮動小数と整数でデータの処理形式が違うのも知らないんだろ、と。 基本情報からやりなおせ それと、ずっと言いたかったんだけど ワ ラ タ w
HSPを選んどいて、みみっちぃ話をするんじゃない。
兄弟てw みみっちぃのには同意、ってか、 こちとらエンターテイメント気分なわけですよ もっと盛り上がれ
システム負荷?それだけの意味だと思ってんの? お前にとってオーバーヘッドって単語は狭い範囲を指すんだな。 慌ててグーグルで調べたのか? HSPは型情報が弱いから、計算するときに、 これは整数だ、これは浮動小数点数だ、って分岐が必須になる。 足し算する度にそういう分岐処理をしなければならないが、 そのオーバーヘッドがでかいから処理コストは同じになるんだよ。 >基本情報からやりなおせ だからお前だって。 つーかお前の「浮動少数」って言い方がもう素人っぽい。 「少数」が「浮動」するんじゃない、「小数点」が「浮動」するんだよ? 正しくは「浮動小数点数」ね。 つーか、お前「IEEE754」の意味わかる?
そんなことよりラベル型マダー?
個人的にはHGIMG3の画面切り替えのバグ直ってたのはGjだった。 が まだひどい仕様にがっかり
実は何もかも知らなかったんだ。 HSPのことも、固定小数点数も浮動小数点数も、 整数のことすら知らなかったんだ。 ビット演算なんて何?って感じで。 そもそもプログラミングって何? 人生とは? 宇宙ってなんだ?! エクセス64ってなんなんだ?! わからねぇ! というかもう負けでもなんでもいいから 関係ない話で揚げ足取りすんなー
>実は何もかも知らなかったんだ。 ああ、そうだろうな。 >というかもう負けでもなんでもいいから >関係ない話で揚げ足取りすんなー はいはい。反論できないけど、最後に反撃したいって訳ね。 俺は関係無い話で揚げ足とりなんか一切してないね。 どっちかというと、揚げ足どりしてたのはお前だろ。 ID:inTM4s7Nの真似して「オーバーヘッド」って単語に噛み付いてきて 揚げ足とった気分でいたろ? まったく揚げ足じゃなくて、今お前は恥かいている訳だが。
四則演算すら分からない俺でも一つ分かった、
いいか? みんな驚け
>>733 こいつおにたまだ!!
はぁ?なんでそうなったの? バカの論理飛躍はこえーなぁ。 ああ、 >HSPは型情報が弱いから とかでそう思ったのか? Cやってて、ちょっと想像すれば想像できそうなこったろ。
見苦しさを忘れず、ネタレスを目指してやってきたわけだが
いい加減>739にマジレスするとは思わなかったしw
>>685-738 まとめサイトまだぁー?
はいはい、2chに良く現れるバカパターン 「ネタレスでした(釣りでした)」だね。 負け確定の状況をこれで全てひっくり返した気分になれる便利なパターン。 いやー、2ch厨房の必殺ワザの宝庫だなお前。
言っとくけど、>730まで明らかなマジレスしといて、 >736で突然発狂してそれで「ネタレスを目指してやってきた」ってのはとても無理があるぞ。 次はID変えて「おまえら必死だなw」と部外者の振りパターンかな…。
744 :
名前は開発中のものです。 :2006/11/18(土) 16:08:40 ID:AF61Kqyw
今北だが、 ID:iwLa9TDE = 厨 だということは把握した
ホラね。
今北産業
ホラね。 って。 そんな都合よくお前が思うようなレスがあるかよw
お前ら貴重な休日を随分有効に使うんだな
久々にスレが進んでると思ったら不毛なことやってるなあオイw
750 :
名前は開発中のものです。 :2006/11/18(土) 17:09:01 ID:cWdJzjpe
HSPの半分が罵りあいで出来ています
ある数のnの倍数の近似を求める式(x/n*n とか)がそのままでは使えないし 単純に配列のコピーに倍の時間掛かるし、 構造体のような使い方も出来なくなるし… マップデータを使いやすいからとベタな配列で作ると 256x256x8=512KB こうなる。バッファサイズよりむしろファイルサイズ食う。 そりゃあ今時のPCにとっちゃ微々たるもんだろうがな。
maA, 709 NO iukOtode oomuNe naTToku dEKiRuYO oREhA. tADa, moJIREtUhennSuU nO RYOUIkinI inT hAiRetuWO KABusETE, 4BYTE zUTU ZaTTo AnNGOukaSiTArI suRUyouNa, HSP No heNnI lOW−leVEl na tOkoRogA, oREhA kIniiTte irU. dakARa, iNT hA hSP TeKINIHa hituyOu. DaItAI gIJyUtuTekInA HanaSi iZenNi, USeRs No HannTAi de iNT NO hAISi nANTe deKinAIdAROu. tooL Wo MAiN DE TUKUrU YaTu tOKAmo iRUWAKeDe.
753 :
名前は開発中のものです。 :2006/11/18(土) 18:40:51 ID:B/9SCYiG
妄想乙まで読んだ
「冗談はさておき」まで読んだ
755 :
名前は開発中のものです。 :2006/11/18(土) 20:34:18 ID:cWdJzjpe
いるわけで。までは読んだ
756 :
名前は開発中のものです。 :2006/11/18(土) 20:58:18 ID:AF61Kqyw
まあまでよんだ
のちの までは読んだ スレの誕生である
何この展開('A`)… HSPなら誰かお手軽にスクリプト組んで 証明してみせればいいじゃん
hsP DeNo jYuNnsuI NAi keISann sOKUDO dAtO KONNaN MiTAi. ; iNt 3568mS rEPeAT 10000000:A=1+2−3*4/5:LOOP ; dOuBLe 5058Ms RepeaT 10000000:a=1.0+2.0−3.0*4.0/5.0:lOOp
>>759 ここは俺に任せてお前は先へ行け!
まで読んだ
>>759 こちらスネーク、エリア51に侵入。
大佐、支持を頼む。
まで読んだ
>>759 お前のフィギュアを明日壊す
まで読んだ
ちょいと質問なんですが、 HSPのデフォ機能で音を鳴らすのとDirectSoundとかで鳴らすのは どちらが処理が軽いですか?
そういう質問をするとまず、
「自分で試せ」と言われ、
そのことについてごちゃごちゃ20レス。
そのうちに「○○のほうが軽い」
と回答してくれる神が現れ、10レス。
そうしたかと思えば
「いや、○○だと△△だから××の方が軽い」
という議論から
>>713 になり、70レス。
あっという間に100レスを越えるって寸法だ。
まぁ俺はDirectSoundのほうが軽いと思う。
ソース? んなもんないよ、だってDirectXだし。
765 :
名前は開発中のものです。 :2006/11/19(日) 20:16:23 ID:lyC1vG39
俺もDirectXに一票。所詮HSPだし
>>764-765 うーん・・・とりあえず自分で色々と試してみます。
ありがとうございました。
バロス HSPだってOSの別の機能を呼んでるだけなのに
遅いPC使わなきゃいいのさ
唐突だが俺は どんなPCでも同じ速度に動くように調整するという思想に賛成できない。 なんの為に高いPCを買ったのかわからない。 120FPS以上出てひとより2倍以上早く面クリア出来た方が忙しいビジネスマンに とって良いじゃない それに
UDじゃあるまいし
772 :
名前は開発中のものです。 :2006/11/19(日) 23:16:33 ID:lyC1vG39
処理速度はそれでいいけど、それじゃゲームにならないだろwwwwww
773 :
名前は開発中のものです。 :2006/11/19(日) 23:30:15 ID:W/MZ+GLU
四則演算すら分からない俺でも一つ分かった、
いいか? みんな驚け
>>772 こいつおにたまだ!!
ナ ゝ / ー;=‐" 十_" ト cト /^、_ノ (.__ | 、.__ cト ,. -─- 、._ ,. -─v─- 、._ _ ,. ‐'´ `‐、 __, ‐'´ ヽ, ‐''´~ `´ ̄`‐、 / ヽ、_/)ノ ≦ ヽ‐'´ `‐、 / / ̄~`'''‐- 、.._ ノ ≦ ≦ ヽ i. /  ̄l 7 1 イ/l/|ヘ ヽヘ ≦ , ,ヘ 、 i ,!ヘ. / ‐- 、._ |/ l |/ ! ! | ヾ ヾ ヽ_、l イ/l/|/ヽlヘト、 │ . |〃、!ミ: -─ゝ、 __ .l レ二ヽ、 、__∠´_ |/ | ! | | ヾ ヾヘト、 l !_ヒ; L(.:)_ `ー'"〈:)_,` / riヽ_(:)_i '_(:)_/ ! ‐;-、 、__,._-─‐ヽ. ,.-'、 /`゙i ´ ヽ ! !{ ,! ` ( } ' (:)〉 ´(.:)`i |//ニ ! _/:::::::! ,,..ゝ! ゙! ヽ ' .゙! 7  ̄ | トy'/ _,,. -‐ヘ::::::::::::::ヽ、 r'´~`''‐、 / !、 ‐=ニ⊃ /! `ヽ" ;-‐i´ ! \::::::::::::::ヽ `ー─ ' / ヽ ‐- / ヽ ` ̄二) /ヽト、 i、 \:::::::::::::::..、 ~" / ヽ.___,./ //ヽ、 ー
ばかやろう、俺がおにたまだ。
お前はわかってないだのなんだの ばかばっか
コンパクト版や、コンソール版のランタイムよりも、 実数サポートを省いた(微妙に高速動作が期待できる)ランタイムが欲しい俺。
C言語風な書き方になってきているんだったら、 いっそのことHSPもコンパイラ言語仕様にしちゃえばイインダヨ。 まぁそんなことをするくらいだったらユーザーがC言語を覚えればイインダヨ。 というわけで結局、HSPはHSPらしいままでいいと言う結論になった。ありがとうございました。
いっそCのライブラリとして出して欲しい希ガス
YOU作っちゃいなよ
開発中らしい HSP to C コンバーターに期待
ドッグフードうめぇwwwwww HSPなんてやってられるかよwwww
ああ、たしかにあれはうまいな。俺も一時期はまった。 道歩いてるときも頭が勝手にロジック考えてたりして危険w あれ、データ領域と命令領域と分離型だっけ?
それは残念だおじいちゃん
HSPって文字列を扱い易いんだなって 最近Cをやって知った
論理は同じなんだけど、それを知らずして扱える辺りは ちょっとすごいな、とは思ったな。
寧ろ、Cだけ文字列を扱いづらい気がする
HSPをCにコンバートするんならさあ、いっそHSPコンパイラが出ればいいんじゃね? 昔BASICに対してBASICコンパイラが出たみたいに。名前はえっちえすぴ−っ君で。
デコンパイル作るの簡単ねw もうたぶんデコンパイラを完成させている人もいると思うけどね てか、文字列定数で同じものがあったらアドレスを 再度使用するようになっててもよさそうだけどなってないね あと式の計算が逆ポーランド記法になっているのはわかるけど 1行の終端がわかりにくい ま、チラシの裏だけどね
おにたまのコンパイラが由緒正しいCのコンパイラに かなうとは思わないのだが ま、チラシの裏だけどね
ツクールスレと同じで自慢話しかない
rubyがあるだけツクールの方がまだマシと聞いたことがある
全く趣向が違うツクールと比べられてしまうHSPって終わっとるな。 どんなにHSP支持者がムキになって「HSPは神!」といっても、 世間に認められていない以上、デファクト糞言語ってわけだし。 一応言っとくと、俺もHSPユーザーだからここにいるわけですが。
HSPでもいいじゃん☆
「HSPは神!」なんて言うのは HSPでプログラム自体はじめたばかりの初心者くらいだろ
そう言えばTTSneoでプログラム自体はじめたばかりの初心者の頃は 俺も「TTSneoは神!」なんて言ってたな。確か。
798 :
名前は開発中のものです。 :2006/11/24(金) 21:08:39 ID:2VxNYRQE
N88BASICは神!
MSペイントは神!
ドッグフードは神!!
面白くない
ぼちぼち言語として認められてもいい頃だとは思う 3以降は
HSP3の逆コンパイラ出来そう(モジュールやDLLはまだ)だけどなにか逆コンパイルしてみたいものある? 内容によっては断る(例えばどこどこのゲームを〜とか)ことあるけどね
なにを頼んでも元の作者が怒りそう。こっそり試して完成品だけ くださいな。 >790 レットの作者とかも解析してないと作れないでしょうね。 最適化とかされない状態で中間言語に翻訳されてexeに 組み込まれてるんなら、ソースと照らし合わせて 根気よく解析すればなんとかなりそう。
axはほとんど命令と対称だから解析簡単じゃない? そんなことはどうでもよくて、epackの解析が難しいのではなかろうか
まぁ、別に大したもん作ってない俺としては 解析されても別にどうってことないから逆コンパイルとか興味ないけどなあ。
ソースなんか公開するもんじゃねぇとオモタ訳だが、 デコンパイラなどという物が出回ると 初心者からの質問がさらに増えそうでかなりウザイヨ!!
分解されて恥ずかしいところを隅々まで見られるのはイヤなので 他人事じゃないのでやめてくださいw
視姦か。
だいたい、公開もできないようなソース見てもなんの参考にもならんようなキセノンだぞ。
まーつまり、解析側のますたーべーそんだろ。 ろくなやつじゃないと思うが、趣味ならいいんじゃないの?
今日始めた初心者ですが、HSPでFPSとかレースゲームは作れますか?
クマー
>>4 FPSって全然見かけないな、あの学校のくらいしか。
ほ〜 じゃあガイド本でも買って来てガンガってみるわ
一日前にjavascriptがどうこう言った奴!! javascriptがスクリプトレベルで整数値を意識するかどうかは実装依存だ。 仕様上はインタープリタが評価時に暗黙の変換を行って論理演算がどうのこうのはプログラマが意識する必要はない。 あとjavascriptのNumber型が整数部32bitだと決めつけてるがアレは 2^53で整数部が収まる場合でかつものによってはECMA-262演算子が 2^32しか使わないから ToInt32関数かToUint32関数で32bitのみ利用しているだけ。 ECMAの仕様ではNumber型はIEEE 754(ただし、 2^53-2はNaN値という特殊な値で表現)で整数表現が2^53で足りる場合しか決められてない。 整数部64bitの実装もある。つまり 2^53では収まらない。 ではHSPが必ず整数値を 32bitとする仕様であるなら実数の実装をIEEE 754にしてその中の整数表現部である2^53の範囲を使えば良い。 だが整数値を64bit使いたくなったらどうするんだ?HSPお得意のなんでもプラグインまかせか? 整数型を持たないスクリプト言語の実装は良くあるが整数型を64bitで持つ言語も多いぞ? これくらい自力で出来て欲しいとは思わんか? あとメモリ消費に差があるとか言ってる奴が居たがJAVA並みにハードウェア無視した言語でも 無い限り最終的にはCPUのバス幅に合うように区切ってメモリ確保されるんだからその範囲で足りれば個々の型で何bit使おうが メモリ消費は変わらない。 そんな事よりHSPはもっとマシな最適化するなり、GCなりを積んで欲しい。
一日前?
書くのに1週間掛かったんだヨ
オバへ厨が自分宛に書いたから1日感覚になったんだヨ
820 :
816 :2006/11/27(月) 10:17:28 ID:QFSkS0ye
あースマン。俺がオバヘ厨のレス読んだのが一日前なんだ。日付も見てない。 正直その後は読まずに書き込んだ。悪かった日付部分は無視してくれ。 要するに俺が言いたいのはHSPは簡単なことでも何でもプラグインなのはどうなのか? って事だ。これだから本家で聞く側も教える側もプラグイン任せになるだろ。 他のスクリプト言語でも実装されてる様な簡単な事くらい自力で出来た方が良いだろ? ○○をするプラグインありますか?/○○を使えば簡単に出来ます なんてやりとり他の言語で聞いた事ないぞ? ていうかプラグイン使えば何でも出来るのは当たり前だろ。 機能が組み込まれてなくても自分で実装して動的リンクすれば良いだけなんだから。
それがHSPの仕様だ。
C++を始めてからHSPなんて触ってもいません
>>820 の言いたいことはだいたい分かった。
でも、C言語だってライブラリを使うためにヘッダー読まなきゃいけないし、
DirectX使うのにSDKも必要じゃない。
そう考えるとプラグインから機能を呼び出すのは別に不自然ではない・・・と思わん?
(標準サポートのプラグインが少ないって言いたいのかもしれないけど)
まぁ、言語そのものに命令セットがあるのがインタプリタの特徴で、
HSPが"手軽さ"を謳っているのならプラグイン無しでも動作するのが望ましいけどさ。
とりあえずポインタを正式な文法にしてほしい
なんかすぐ剥がれそうな塗装みたいで怖い。
あるbufferに画像を読み込んだとして、その画像の縦横のサイズを取得するにはどうしたらよいのでしょう? いろんな画像を読み込むので事前にはわかりません。おねがい。
ginfo
ginfo_sizexだとウインドウ枠も含めた値が帰ってきませんか? ウインドウ枠の大きさなどはOSの設定にもよると思うので 純粋に画像の大きさを取り出したいのです。。。
winxでおk
>>823 C/C++でヘッダをインクルードするのは静的リンクで実行ファイルのバイナリに埋め込まれるからインタープリタが標準で命令セットもってるのと同義だろ?(もちろん動的リンク用のヘッダ以外)
DirectXのラッパーは確かに良い。正直ソースを上から下に順次実行+gotoな言語でああいう高レベルなライブラリを手軽に使える所は評価できる。
ただ、HSPは標準でGUI組めるだろ?けどGUIで一般的ないわゆるメニューバーやコンテキストメニュー、ステータスバー等でプラグイン使うのはそれ位組み込んで欲しいと思う。
逆にもっと高度なコンポーネント群がプラグインなら納得いくが、リストとかタブとかスプレッドシートとか テキストエディット用フレームワークとかは見かけないだろ?
例えばHSP製ゲームってSLGも良く見るからこういう高レベルGUIコンポーネントとMDIが使えたりすると需要あると思う。けど流石にそれを組み込むのは視野には入れないだろう。そういう時のプラグインじゃないか?
コールバック関数使ったり実数使ったりするのにプラグインは使い所違う気がするよ。
それでもプラグイン刺してWIN32 API呼んだりマシン語埋め込んだりしてHSP使う奴居るだろ?スクリプト言語使ってまでクリティカルな部分に対処しようと思うか?
そもそもそれは本当にクリティカルなのか?言語がちょっとした事でハードル上げてるんじゃないか?って思った事があった訳よ。HSPの標準命令だけでXMLパーサ書いた時にさ。
この時はちょっとしたテキスト操作でそこそこのコード量になった。せめてストリームとリーダ/ライタの概念位あったら良かったんだが
良くてnote系命令だろ?んでプラグイン・・・この悪循環は厨が訳分からん質問したり既出質問の無限ループにも繋がる。
プログラミング&ネット素人にはキツイ環境とは思わんか?
自分で組めない、情報が探せない→モチベーション下がるってならない?
すまん、改行大杉で怒られたんでとことん削った
そんなあなたに ActiveBasic ・BASIC、構造化プログラミング、OOP、 ユーザーのレベルにあったスタイルでプログラミング可能。 ・Win32API、COM、DirectXもサポート。 ・HSPと違い、アルゴリズムも素直に記述できる。 ・ネイティブコードを出力できる。 ・さらに、GUIをRADツールでつくれます。
こんな威勢の良いやつが今までどこにいたんだろう
>>828 そんな話しても俺には分からないよ。
そんな長文書くくらい知識があるなら、
そんな長文書くくらいHSPが嫌いなら、
自分で言語作るなり他の言語で書くなりしたらどうだ。アホらしい。
なんだかんだで、HSPで作られたフリーゲームは多い。
>>828 激しく同意はする
同意は得られないと思うが
Javaやり始めてから、HSPってなんのためにあるんだろうって思うようになった。
837 :
名前は開発中のものです。 :2006/11/28(火) 01:28:41 ID:6hvEnoGI
Javaのゲームなんてやらねーよ
java重くてヤダ
hspdxfixでDirectX使ってるんだけど、es_mesが死ぬほど遅いんです。 ナンデ? ちなみに16bitカラー、D3Dはオフ。フルスクリーン(ウィンドウモードだと若干速くなる) GeForce4MX440。 es_mesしてる暇あったら裏バッファにmesったやつを es_putしたほうが速いンですが・・・。ナンデ?
仕様
>>839 標準mesとes_fmesの差を、下記2スクリプトで比較してみたが、
俺の環境では、「死ぬほど遅い」という程の差はなかった
(フレーム更新時間の平均値の差:0.5ミリ秒程……小さくはないが、死ぬほどでは。)
とりあえず、問題が発生するスクリプトを出してみてはいかがか。
;---標準mes
#uselib "winmm.dll"
#cfunc timeGetTime "timeGetTime"
#define ume color 1,1,111:boxf 0,0,sx,sy:color 255,255,255
sx=640:sy=480:wmode=0:screen 0,sx,sy,wmode:color 1,1,111:ume:x=0:y=0:title "標準mes"
wait 100:t0=0.0f+timeGetTime()
repeat
pos x,y:mes "hspdxfixでDirectX使ってるんだけど、es_mesが死ぬほど遅いんです。"+strf("%3.8f",(-t0+timeGetTime())/(cnt+1))
y+=16:if (y> 480) {y=0:x+=1:ume:if (x> 31) {x=0}}
wait 0:stick s:if s:break
loop
end
;---HSPDXFIX-es_fmes
#include "hspdxfix.as"
#define ume es_boxf 0,0,sx,sy
sx=640:sy=480:bpp=16:pal=0:wmode=1:vsw=2
es_ini:es_screen sx,sy,bpp,pal,wmode:color 1,1,111:ume:x=0:y=0:title "DXFIX-es_fmes"
wait 100:t=0.0f:es_sync
repeat
pos x,y:es_mes "hspdxfixでDirectX使ってるんだけど、es_mesが死ぬほど遅いんです。"+strf("%3.8f",t/(cnt+1))
y+=16:if (y> 480) {y=0:x+=1:ume:if (x> 31) {x=0}}
es_draw:es_sync 0,vsw:t+=stat:wait 0:stick s:if s:break
loop
es_bye:end
すまそ、とりあえずこんなの書いたんだけど、俺の環境だと左上のFPSが 40くらいしか出ないで動きがガタガタでしよ。ウインドウモードにしても60を切っちゃう。 この程度の文字数で落ちてしまうんでは、ゲームなんかで他の処理を書いたら。。 最後の手段としては、裏画面mes→putすればいいんだろうけど、 俺の環境だけ何故って思うとどうしても突っ掛かるorz #include "hspdxfix.as" es_ini:es_screen 640,480,16,0,0,0 sdim death,128:death="hspdxfixでDirectX使ってるんだけど、es_mesが死ぬほど遅いんです" *main time++ getkey esc,27:if esc:es_bye :end es_cls repeat 30 if (cnt\2)==0:pos 20+(time\50),cnt*15 if (cnt\2)==1:pos 70-(time\50),cnt*15 es_mes death loop es_getfps fps pos 0,0:es_mes str(fps) await:es_sync goto *main
>>842 よく分からないけど、そのソースで実行してみた。
Athron 2500+ , 767MB , Radeon 9800
フルスクリーンは 60fps
ウィンドウモードなら、780fps
>>841 試した。
標準mes は 1.5
es_fmes は 0.5
後者のほうが早かった。
>>842 手段も何もそれが一般的だと思うがどうよ…
アンチエイリアスする余裕すらある。
mesするのは最初の一回で良いんだから。
>842 を動かしてみたけど、フルスクリーンで60fps出てる。 …が、es_sync のパラメータに-1,2とか与えると、fpsが落ちたりするから 遅くなる原因は、ディスプレイドライバの設定にあるんじゃないかと思った。 ("垂直同期"の設定が"オン"固定で"アプリ制御"じゃない、とか。…適当。) ただ、俺も >845 の言うとおり、 画面いっぱい分の文字列を、毎フレーム・全部 mesする力技な処理よりは、 文字列の内容が変わったフレームのみ・必要な部分のみ mesする処理を採るべきだと思う。 動作速度が遅いHSPで、60fpsで動くゲームを作ろうとするのなら、 描画や計算の無駄を省く等の小細工を弄して、速度低下を回避しないと…。
847 :
名前は開発中のものです。 :2006/11/28(火) 21:08:59 ID:1PQwrqFn
全部書き換えるにしても、es_clsよりも書き換える部分だけ塗りつぶした方が良くないか?
みんなすまん、俺みたいなヘタレだと
putよりもmesのほうが速いだろうなって錯覚しちゃってた。
これからはガンガンputしようと思います
>>848 ありがとうございます、一応ググってトップに出てくるんで
目は通したんだけども、esmes関連はやっぱり「死ぬほど」遅くはなってない
みたいだったんで・・・。
>>843 780fpsてコーヒー吹いた。何も表示なしで190fpsだったんですが。
esmes遅い云々以前に、いい加減うちのがロースペックすぎたかもしれません。
みんなすまん、俺みたいなヘタレだと
putよりもmesのほうが速いだろうなって錯覚しちゃってた。
これからはガンガンputしようと思います
>>848 ありがとうございます、一応ググってトップに出てくるんで
目は通したんだけども、esmes関連はやっぱり「死ぬほど」遅くはなってない
みたいだったんで・・・。
>>843 780fpsてコーヒー吹いた。何も表示なしで190fpsだったんですが。
esmes遅い云々以前に、いい加減うちのがロースペックすぎたかもしれん。
逆に、うちので動けば他はOKかなと思ってしまうけど。
みんなすまん、俺みたいなヘタレだと
putよりもmesのほうが速いだろうなって錯覚しちゃってた。
これからはガンガンputしようと思います
>>847 すまそ、面倒くさがりなもんで・・・。
>>846 の最後2行心得ておきます。
>>848 ありがとうございます、一応ググってトップに出てくるんで
目は通したんだけども、esmes関連はやっぱり「死ぬほど」遅くはなってない
みたいだったんで・・・。
>>843 780fpsてコーヒー吹いた。何も表示なしで190fpsだったんですが。
esmes遅い云々以前に、いい加減うちのがロースペックすぎたかもしれません。
ちょ、人多杉だったんで更新押しまくった・・・素で恥 (´・ω・`) 完全厨になちまた (´・ω・`: (´・ω・:; (´・ω;:. (´・;:',. (´;.:', (:;',. :';., ;.', ', . .
みんなすまん、俺みたいなヘタレだと
putよりもmesのほうが速いだろうなって錯覚しちゃってた。
これからはガンガンputしようと思います
>>847 すまそ、面倒くさがりなもんで・・・。
>>846 の最後2行心得ておきます。
>>848 ありがとうございます、一応ググってトップに出てくるんで
目は通したんだけども、esmes関連はやっぱり「死ぬほど」遅くはなってない
みたいだったんで・・・。
>>843 780fpsてコーヒー吹いた。何も表示なしで190fpsだったんですが。
esmes遅い云々以前に、いい加減うちのがロースペックすぎたかもしれません。
851 名前:名前は開発中のものです。[sage] 投稿日:2006/11/28(火) 23:29:17 ID:BBB7xQBo
みんなすまん、俺みたいなヘタレだと
putよりもmesのほうが速いだろうなって錯覚しちゃってた。
これからはガンガンputしようと思います
>>847 すまそ、面倒くさがりなもんで・・・。
>>846 の最後2行心得ておきます。
>>848 ありがとうございます、一応ググってトップに出てくるんで
目は通したんだけども、esmes関連はやっぱり「死ぬほど」遅くはなってない
みたいだったんで・・・。
>>843 780fpsてコーヒー吹いた。何も表示なしで190fpsだったんですが。
esmes遅い云々以前に、いい加減うちのがロースペックすぎたかもしれません。
851 名前:名前は開発中のものです。[sage] 投稿日:2006/11/28(火) 23:29:17 ID:BBB7xQBo
みんなすまん、俺みたいなヘタレだと
putよりもmesのほうが速いだろうなって錯覚しちゃってた。
これからはガンガンputしようと思います
>>847 すまそ、面倒くさがりなもんで・・・。
>>846 の最後2行心得ておきます。
>>848 ありがとうございます、一応ググってトップに出てくるんで
目は通したんだけども、esmes関連はやっぱり「死ぬほど」遅くはなってない
みたいだったんで・・・。
>>843 780fpsてコーヒー吹いた。何も表示なしで190fpsだったんですが。
esmes遅い云々以前に、いい加減うちのがロースペックすぎたかもしれません。
851 名前:名前は開発中のものです。[sage] 投稿日:2006/11/28(火) 23:29:17 ID:BBB7xQBo
みんなすまん、俺みたいなヘタレだと
putよりもmesのほうが速いだろうなって錯覚しちゃってた。
これからはガンガンputしようと思います
>>847 すまそ、面倒くさがりなもんで・・・。
>>846 の最後2行心得ておきます。
>>848 ありがとうございます、一応ググってトップに出てくるんで
目は通したんだけども、esmes関連はやっぱり「死ぬほど」遅くはなってない
みたいだったんで・・・。
>>843 780fpsてコーヒー吹いた。何も表示なしで190fpsだったんですが。
esmes遅い云々以前に、いい加減うちのがロースペックすぎたかもしれません。
うちもやってみたけど遅いよ ウィンドウで、だいたい50fpsくらい。 何も表示無しだと495。
あ、うそですた。 表示しても500超えた。
ノートでvramが足りてないんじゃないの? メインメモリをつかっちゃって遅くなってるのでは・・ とりあえずvzの設定を裏vramを使わない設定にして 常駐もしないようにしてみたら
何かを大幅に間違えてHPSが組み込み系用にも配布されたら大爆笑物だな。
HPSでググったらハーリーポッター検索エンジンってのが出てきた
863 :
名前は開発中のものです。 :2006/11/29(水) 23:45:11 ID:Q0XWhUUM
>>860 このページ一番下まで表示されてないんじゃないかと不安になる
デザインだな。
コンテンツは面白いけど。
あのさあてめえら、そんなにHSPの速度が信用できないなら、アセンブリ言語やりゃ いーじゃん。
信用できないからと言うだけで、調査も実験もせずに別の道に逃げるのは違うと思うが。
867 :
名前は開発中のものです。 :2006/11/30(木) 18:13:18 ID:kkSPTvf1
アセンブリが必ずしも速いとは言えなそうだが、HSPよりは速いのは確実
>>865 にマジレス&ネタレスしてるやつはキモメン
縦読みしてみろ。
_ ´/´─`ヽ . iπノノ从))〉 . ,从i ゚ ヮ゚ノリ゙ /》Y《ヽ (ソ元.レ') く_/_|_ヽ ヽ ヽ ノ '´ヘソヽ i |〃^)))〉 ソリ゚ ー゚ノリ | <巫女さん く‖y ||フ| /i〒i| | 〈/人|〉 川 _ '´ ヽ ! 〈.ノハ))ノ . 、ソ゚ ー゚人 ソく‖y ||つ (/i〒i|丿 〈/._|_リ __ 「,'´r==ミ、 くi イノノハ))) | l|| ゚ヮ゚ノl| j /ヽ y_7っ= (7i__ノ卯! く/_|_リ
誤爆した…。申し訳ない。
あいのーさじあゃてん?
ちょくとのページが消えてる?
あれ?アクセスできた 鯖落ちだったんかな?
いや☆ぼーんおめ
ありがとうございます (゚ω゚)ゞ
つーか123作品って。 これって入賞しても嬉しくないんじゃないか?w
いや☆ぼーんのいいところは後ろ向くところだな
>>877 他人を蹴落とすためのコンテストじゃないってことさ。
それにただ選ばれたってだけならありがたみもない
かもしれないが、主催者側がわざわざ身銭切って
あれだけの数選ぶってのが気合入っててよくない?
otu
禿和賞の人は宝箱もらえませんのでよろしく。
>>879 ああ、なるほどなぁ。
確かに競争率が高くなって入賞枠が削れると、
毎回同じ作者が上位を占めちまうもんなぁ。
HSPの敷居を更に低くしていく、知名度を上げるという点では、多く選ぶのも
悪くはないのか。
それにしても、宝箱はハズレだと思うのは俺だけか?
俺は宝箱欲しかったよ orz
しかし今回はこれが本命だろうって物がないな。 小粒ぞろいというか。知らんだけかもしれないけど。 音ゲーのあれくらいか。
音げーはインパクト賞あげてもいいけど、俺にはついていけないよ
いやぼーん今やった。面白かった。 というか、どうしてこんなに快適に動くのか理解できんかった。 俺は未だにDXの使い方が分かってないようだ・・・。 HSPDXFIXのスプライト機能って速いの?
887 :
名前は開発中のものです。 :2006/12/01(金) 21:47:37 ID:6+Kb0DUQ
>>886 描画の早さより
自動移動とか自動アニメとかで余裕が出ると思う
あと、当たり判定とか
ありがとうございます (゚ω゚)ゞ
スムーズな動作は、HSPDXFIXの力によるところが大きいと思います。
基本的に、>846の最後2行で述べられていることを心がけています。
考え方の一例ですが、HPゲージの処理。
普通にゲームが進行しているなら、ゲーム中の全フレーム数のうち
HP量に変化が起こるフレームは、ほんのわずかである(確率でいえば1%未満?)ことと、
(HPバーを描画させる命令の処理時間) > (if文でHPが変化したことを判断する時間)
であることを考慮して、
HPゲージ量に変化があったときのみ描画処理を行うようにしたりしています。
そのHPゲージの描画処理も、最初はes_boxfやex_copyなどを使って行っていましたが、
D3Dスプライトの機能をうまく利用すれば、矩形(■)パターンを横に
拡大して表示させておくだけで済むうえ、処理速度も速いことに気づいたため、
そちらの処理に差し替えました。
スクリプト中の計算などの無駄については、
http://www.interq.or.jp/www1/helohelo/elf/M_HSPmem.html の人の書かれているメモ書きなどが参考になります。
自分でも独自に、書き方が複数考えられるスクリプトについて
こまめにベンチスクリプトを起こし、調査して、高速化につとめました。
(例)
・if A or B : Do の記述は、
・if A :Do
if B :Do 2文に分けたほうが速い。 …とか。
その他、実数演算を一切排除。配列変数の読み書きがけっこう遅いので極力排除
あたりでしょうか。…こんなこと言ってると、またC言語使いの人に煽られそうですが。
計算式の小細工は当たり判定とか最も近い敵をサーチするとか(誘導弾等) 何千、何万回ループする可能性のある場面にはかなり有効だけど 実際何フレーム稼げるんだろ… あと、例えばこの敵のサーチでは律儀に平方根取る必要はないし、 毎フレームのサーチを1フレームおきにしてしまう、60フレームで追跡を諦める、 弾の数そのものを減らす等々 そういうアルゴリズムそのものを見直すのも効果的。 "変化したことを判断する" この考えもすごくいいヨ
891 :
名前は開発中のものです。 :2006/12/02(土) 02:23:57 ID:Q74I213y
dupなんか使うより#enumで名前を付けたものを配列の添字にした方がいい
>>890 2.6用のサンプルをそのまんま3.0で動かして正常動作しませーん分かりまちぇーん
って何言ってんだよ。
んなもん自分であーでもないこーでもないってごちゃごちゃごちゃごちゃやって調べ
るんだよ。
ごちゃごちゃごちゃごちゃやった上で聞けよ。
で、お前の代わりに俺がそのごちゃごちゃごちゃごちゃをやって教えてやろうかとも
思ったがやめた。なぜならdupにカーソル合わせてF1押したら「ハア?おにたまてめえ
何が言いたいんだよ!?これでマニュアルのつもりか!?」って思ったからだ。
訳分かんね。「日本語でおk」とか思っちゃったよ。
#define NUM_DATA 5
dim a,NUM_DATA
dup hp_max,a(0)
dup mp_max,a(1)
dup hp,a(2)
dup mp,a(3)
dup money,a(4)
hp_max=20 : hp=18
mp_max=10 : mp=10
money=100
bsave "save.txt",a
bload "save.txt",a,4*NUM_DATA
repeat NUM_DATA
mes a(cnt)
loop
ちゃんと動くぞ。
すみません。説明不足でした。dimとsdim使わなければ問題なくセーブはできるんですが、
dim hp_max,2
hp_max.0 = 20
hp_max.1 = 30
とか
sdim aitem,20,3
aitem.0="剣"
aitem.1="鎧"
aitem.2="盾"
とかを保存するとhp_max.0の20とaitem.0の剣だけ保存されてhp_max.1の30と鎧 盾が保存されないんです。
ttp://sapporo.cool.ne.jp/daturyoku/HSP/jitugi/rpg_01.html ここのも
aitem.1="鎧"
aitem.2="盾"
aitem.3="謎の巻物"
この三行を消せば問題なくセーブはできるんですが、配列使った変数をセーブする方法がわからないんです。
#define BUFMAX 10 #define BUFSIZE 32 #define FILENAME "test.txt" sdim array,BUFSIZE,BUFMAX bsave FILENAME,array(0),0 cls 1 *main pos 0,0 repeat BUFMAX input array(cnt),64,25,BUFSIZE loop button gosub "SAVE",*save ID_save = stat button "LOAD",*load ID_load = stat repeat if ginfo_act != -1 { objsel -1 getkey KEY_enter,13 getkey KEY_ctrl,17 getkey KEY_S,83 getkey KEY_L,76 if KEY_enter & stat = ID_save : cmd=1 : break if KEY_enter & stat = ID_load : cmd=2 : break if KEY_ctrl & KEY_S : cmd=1 : break if KEY_ctrl & KEY_L : cmd=2 : break } wait 10 loop
switch cmd case 1 : gosub *save : swbreak case 2 : goto *load : swbreak default: swbreak swend stop *save color 192,192,192 : boxf 70,0,300,30 : color 0,0,0 : pos 70,0 repeat BUFMAX bsave FILENAME,array(cnt),BUFSIZE,BUFSIZE*cnt loop mes FILENAME+"にセーブしました。" return *load cls 1 : pos 70,0 exist FILENAME if strsize = -1 { mes FILENAME+"がありません。" } else { repeat BUFMAX bload FILENAME,array(cnt),BUFSIZE,BUFSIZE*cnt loop mes FILENAME+"をロードしました。" } goto *main こんな感じでどうだ?
897 :
名前は開発中のものです。 :2006/12/02(土) 18:07:25 ID:6IU8L7/C
>>893 複数の要素を含む文字列バッファを一度に保存できないので下記みたのをやるか
894の言ってるのを使うか
#module
#define global tbsave(%1,%2,%3=-1,%4=0) _tbsave %1,%2,%3,%4
#deffunc _tbsave str f,array txt,int size,int offset
txtemp="" :foreach txt :txtemp+txt(cnt)+"\n" :loop
exist f :if strsize<0{bsave f,txtemp,size}else{bsave f,txtemp,size,offset}
return
#define global tbload(%1,%2,%3=-1,%4=0) _tbsave %1,%2,%3,%4
#deffunc _tbload str f,array txt,int size,int offset
exist f :sdim txtemp,limit(strsize-offset,0,strsize) :bload f,txtemp,size,offset
strindx=0 :foreach txt :getstr txt(cnt),txtemp,strindx,0 :strindx+strsize :loop
return
#global
これを最初の方に挿入か別ファイルにして #include
やってる事は、要素ありの文字列を改行付きの一つの文字列にしてセーブ
改行付きの文字列をロードして改行毎に要素付き文字列バッファに代入
>;文字のデータを続きに保存
>bsave "save.txt",b,,4*NUM_DATA
と
>;文字のデータだけを読み出す
>bload "save.txt",b,,4*NUM_DATA
のロードセーブ命令を tbsave と tbload に置き換え(使い方は同じ)
898 :
名前は開発中のものです。 :2006/12/02(土) 18:50:16 ID:6IU8L7/C
間違った #define global tbload(%1,%2,%3=-1,%4=0) _tbsave %1,%2,%3,%4 は #define global tbload(%1,%2,%3=-1,%4=0) _tbload %1,%2,%3,%4 だった・・・ てか、実は質問の内容と問題になってるものは違うんじゃないかって気がしてきた・・・
いろいろありがとうございます。arraysave使ってやってみます。 自分でも説明の仕方がよくわからないのですが、 dim save,2 dim a,2 dup a.0,save.0 ;dup a.1,save.1 a.0= 10 a.1= 20 bsave "save.txt",save stop これだと5行目のdup a.1,save.1で「配列の要素書式が間違ってます」というエラーがでます。 arraysaveにしても5行目でエラーがでて同じだと思うんですが…。 a.1 = b.1 みたいに配列変数の1以降を配列変数の1以降に入れることはできないんですかね。
900 :
名前は開発中のものです。 :2006/12/02(土) 19:41:09 ID:6IU8L7/C
>>893 >とかを保存するとhp_max.0の20とaitem.0の剣だけ保存されてhp_max.1の30と鎧 盾が保存されないんです。
hp_maxはサイズをちゃんと指定するか-1又は省略すれば保存できるはず。
バイナリデータとしてファイルを確認してる?
(保存したファイルにオフセット間違ってaitemでデータを上書きしてるとか・・・)
aitemの方は897を参照
>この三行を消せば問題なくセーブはできるんですが、配列使った変数をセーブする方法がわからないんです。
これは、セーブの問題じゃなくて、文字列配列のクローンが作れない問題だろう
(dup aitem.0,b.1の時点でaitem.0以外の要素が消える)
リンク先には
「先頭だけやると残りは自動的に当てはめられます」
って、あるけど、3.0で文字列配列の場合指定された要素しかクローンが作れない
(メモリが連続していないからだろう)
てか、クローンなんて特別な事情が無けりゃ使わない方がいいと思うが・・・
あ、
>>899 の最後の行は忘れて下さい…。勘違い。もう少し調べてやってみます。
902 :
名前は開発中のものです。 :2006/12/02(土) 20:15:48 ID:6IU8L7/C
>899 >これだと5行目のdup a.1,save.1で「配列の要素書式が間違ってます」というエラーがでます。 そんな使い方は許されてないから無理 dup a.0,save.0の時点で a.1=save.1になってるし 変数名1に要素数を付ける事は出来ない
>>893 を使ってとりあえずセーブだけはできました。次ロードやってみます。
#include"module_save.hsp"
#define NUM_DATA 2
dim save_a,NUM_DATA
sdim save_b,20,2
dim a,2
sdim b,20,2
a.0= 10
a.1= 20
b.0 ="テスト01"
b.1 ="テスト02"
*save
save_a.0 = a.0
save_a.1 = a.1
save_b.0 = b.0
save_b.1 = b.1
tbsave "save.txt",save_a
tbsave "save.txt",save_b,,4*NUM_DATA
stop
一応これでセーブはできたんですが、こんなやり方でいいんですかね。
904 :
名前は開発中のものです。 :2006/12/02(土) 20:44:17 ID:6IU8L7/C
>>903 まった
>tbsave "save.txt",save_a
こっちは標準の bsaveを使わないと数値データが数字文字列に置き換わって保存される
ロードもdimの配列に読み込むのは標準の bload を使う
sdimで作った配列に読み込む時に tbloadを使う
897の tbload は898を見て修正してくれ
ありがとうございました。セーブとロード両方できました。
#include"module_save.hsp" #define NUM_DATA 2 #define STR_DATA 2 #define STR_SIZE 20 dim save_a,NUM_DATA sdim save_b,STR_SIZE,STR_DATA dim a,2 sdim b,20,2 a.0= 10 a.1= 20 b.0 ="テスト01" b.1 ="テスト02" button "SET",*set button "SAVE",*save button "LOAD",*load button "VIEW",*view stop *set a.0= 30 a.1= 40 b.0 ="テスト03" b.1 ="テスト04" stop
*save save_a.0 = a.0 save_a.1 = a.1 save_b.0 = b.0 save_b.1 = b.1 bsave "save.txt",save_a tbsave "save.txt",save_b,,4*NUM_DATA stop *load ;ファイルの有無をチェック exist "save.txt" if strsize==-1 : dialog "saveデータがありません。" : stop bload "save.txt",save_a,4*NUM_DATA tbload "save.txt",save_b,,4*NUM_DATA stop *view mes ""+save_a.0 mes ""+save_a.1 mes ""+save_b.0 mes ""+save_b.1 stop とりあえずこれで大丈夫ですかね。
908 :
名前は開発中のものです。 :2006/12/03(日) 01:01:56 ID:aTMNovR/
とりあえずセーブロードは、OKだろう 関係ないけど a.1 とかはhsp3.0なら a(1) って書くようにした方がいいよ
ノートバッファに指定した変数をそのままbsaveでtxt保存すると、ゴミみたいな文字が紛れ込むんですけど、仕様でしょうか?
配列の要素位置を気にしなくて良い方法(tbsave、tbloadを使用) #enum HP_MAX=0 ;データ開始位置 #enum MP_MAX #enum HP #enum MP #enum MONEY #enum NUM_DATA ;データ終り #enum NAME=0 ;データ開始位置 #enum SWORD #enum ARMOR #enum SHIELD #enum SCROLL #enum SAVE_NAME #enum STR_DATA ;データ終り #define STR_SIZE 20 dim a,NUM_DATA+10 :sdim b,STR_SIZE,STR_DATA button "SET",*set :button "SAVE",*save :button "LOAD",*load :button "VIEW",*view :stop *save bsave "save.txt",a :tbsave "save.txt",b,,4*NUM_DATA :stop *load exist "save.txt" :if strsize==-1 { dialog "saveデータがありません。" : stop} bload "save.txt",a,4*NUM_DATA :tbload "save.txt",b,,4*NUM_DATA :stop *view repeat NUM_DATA :mes a.cnt :loop :repeat STR_DATA :mes b.cnt :loop :stop *set a(HP_MAX)=20 : a(HP)=18 :a(MP_MAX)=10 : a(MP)=10 :a(MONEY)=100 b(NAME)="冒険者" :b(SWORD)="剣" :b(ARMOR)="鎧" :b(SHIELD)="盾" :b(SCROLL)="謎の巻物" :b(SAVE_NAME)="旅の始まり" stop
>>888 ちょっち質問が・・・
wasdまたはカーソルで移動、
マウスでaim&fireにしなかったのはなぜ?
>>911 いや☆ぼーんの前身である、レーザー表示実験スクリプトを書くきっかけになった、
ここの前スレの270でアップされていたシューティングが、そのような操作系でした。
http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0028.zip 後に別スレで"Fatal Strike"と名づけられ、開発が続けられていたので、
楽しみにしていたのですが、5月から音沙汰なくなってしまっています。(;ω;) カムバック!
この"Fatal Strike"を参考にさせてもらって、いや☆ぼーんの操作系を決めたのですが、
単純に言うと、「そのほうが面白いと思った」からです。
詳しいことは、うまく伝えにくいのですが─、
プレイヤーの選択した行動に対して、メリットとデメリットが同時発生するときに、
ゲーム性が産まれると思っています。
例えば、ストリートファイターIIのような格闘ゲームでの一場面。
強攻撃は当たれば威力が大きいが、はずせばスキが生じる。
弱攻撃はスキは小さいものの、威力は小さい。
プレイヤーは、どちらの方法で攻撃をするかの選択を迫られます。
今回のいや☆ぼーんの操作系の場合だと、
キャラの移動(回避行動)をとるか、ターゲットの移動(攻撃行動)をとるかの選択を、
常にプレイヤーに迫ることになって、それにより
自機移動にもゲーム性が産まれて、面白くなるだろうと考えました。
ただ、あの操作系にすることにより、
弾幕型シューティングのように敵弾が絶え間なくバラまかれるような
(=キャラ移動でいっぱいいっぱいで、ターゲット移動するヒマがない)
場面を、設けるワケには行かなくなってしまったので、
適度に敵の攻撃に、空白時間というか、スキを設定してみています。(゚ω゚)ゞ
ついでに「珍妙なインベーダーっぽいもの」。この時点では、マウスでaim&fireでした。
http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0030.zip
なるほど、答えてくれてサンクス
914 :
名前は開発中のものです。 :2006/12/03(日) 15:07:10 ID:eOdbog8B
作品をlzhで圧縮するのはよそうぜ zipだと解凍ツールいらないからね
圧縮フォルダ? あれかえって不便なんで切ってる
それってwindowsに標準でくっ付いてるやつ?使ったこと無い
なるほど、誰でも出来るようにしないほうが 厨をふるい落せて良いのでLHAにしよう。
(´-`).。oO(ZIPの解凍すらできない奴がHSPの作品なんか落とさないだろ…)
#deffunc test return とすると、 「サブルーチン外のreturnは無効です」 というメッセージが出るのですけど、 Cの func(){ } のようには使えないのですか?
>>920 --------------------
#module
#deffunc test
return
#global
test
--------------------
ok?
Yes! Very thanks :D
Yes! Takatu clinic :by Hiromi.Go!
HSPって、現代版のファミベーだよな。 極限まで無駄を無くさないと遅いマシンじゃリアルタイムゲームで60fps保てない。 特に標準機能だけだと最悪だな。
>>920 モジュールなしでもできる
goto *main
#deffunc test
return
*main
test
HSPで弾幕シューティングとか無理?
話聞いてると弾幕シューとかキツそうだけどなあ
HSPDX系使うと案外楽。当たり判定とか移動とか丸投げww だがゲームの構成能力ゼロの俺にはRPGツクールの 起きる→話しかける→ありえない強さのラスボス 以上のものが作れない
画面に2〜300発位の弾幕なら全然余裕。 60fps保てないって今時どんだけしょっぱいマシン使ってるんだよ。
932 :
名前は開発中のものです。 :2006/12/04(月) 22:59:08 ID:/BOE26e6
どの程度が弾幕か分からないし 可能かどうかはPCのスペック次第でHSPの問題じゃない 926の考える弾幕が一画面に何発玉が出て、PCのスペックは どれぐらいを予定してるかが分からないから 無理か可能か答えても意味なし ただ、HSPだから無理なんて事はない
どっかのゲームのボスのように8*8弾で640*480埋め尽くすと結構厳しい
あ、640*480はスクリーンサイズだからもっと小さいな
旧石器時代の骨製PC発掘して使ってるけど快適。 ところでDX使ってると全画面表示が基本? HSPDXFIXでアクションっぽいもの作ってるんだけど、全画面表示では60前後で安定してるんだけど ウィンドウモードで起動するとfpsが120とかばらけてゲームにならないんだけど、どうすればいいのかわからなくて悶えてる。
怒蜂でたしか512だったかな。 ちと実験してみるかなあ。
俺思ったんだけど、 どうせ画面いっぱい弾でうめつくすなら、画面いっぱいサイズの巨大な弾一発撃ったほうがよくね?
お前頭いいな
>>935 ウィンドウモードだとウェイトがかからない。sync系にパラメータ付けられるだろ。それでウェイトをかける。
ヘルプにも書いてあったきがするけど、ウィンドウモードはあくまでデバック用
G400で動かせるような環境で開発しろよおめーら
あ、いや、なんでもないです。すいません・・・。
>>939 でもさ、ウインドウモードって何気にDDrawだけだと速いよね。
言うほどちらつきもないし。
D3Dでちょっと不具合が出る程度じゃなかったっけ?
DirectXでも最近はウインドウモードのが速いんじゃなかったっけか つかG400なんて捨てちまえよw
ああごめんDirectXじゃなくてD3Dだw
DDrawだったらG400でも最新ビデオカードでも大して変わらないよ
944 :
名前は開発中のものです。 :2006/12/05(火) 20:54:02 ID:+IWJ5TeB
あ
>でもさ、ウインドウモードって何気にDDrawだけだと速いよね。 そらお前がG400だからじゃ(ry
おまい達、そうやってG400をいじめると買い換えちまうぞ! いいのか? よく考えろ?! まぁ、今のままで満足してるからグラボに回す金なんてないんだけどさ。 ヘヴィーなゲーマーというわけでもないし、3Dも扱わないし…。 いいんだ、どうせ俺は…。
グラボ欲しいんだけどさ、 マザボがAGPなんだよねorz
DXFIXのes_aimを使ってスプライト移動させた後止めるにはどういう処理をすればいいですか? いろいろやってはみたんですが、止めたい座標でプルプル動いて静止してくれません。
移動速度0にしてやりゃいいんじゃね?
0にしても目標の座標で止まってはくれるんですけど、なぜかプルプル振動してじっとしてくれません。
場合によっては面倒かもしれないけど es_flag で bit 9 を0にすれば止まるよ。 動作確認してないけど、こんなん。 es_get a , スプライト番号, ESI_FLAG_LOW ;フラグ値取得 es_flag スプライト番号, a & $FFFFFDFF ;bit9をクリアした値を設定 他には、es_posかes_setのどちらかで、 自動移動させてるスプライトの座標を変えようとしたら 自動移動が解除されてしまって、困った覚えがあるんで、 止めたい場合には使えるかも。どっちだったか忘れたけど。
自己解決しました・・・。止まる場所の座標を点ではなくて少し広く取ったら止まってくれました。 どうやら座標ぴったりに止まれず回りでうろうろしてたみたいです。
>>947 AGPでも20,000円でゲフォ7600あるやん。
いまさら2万出してAGPなんか買いたくないじゃん いよいよってことになったらPC組みなおすよ…
ただのPCIやオンボードよりマシ
9800Proと6600GTなら余ってるよ! 壊れて動かないやつw
今日始めてこの言語の存在について知ったよ。 インストールしたけど、なんかいろいろ例がついていて、俺でも何か作れそうな気がしてきた。 とりあえず箱庭ゲーを作ってみるよ。
言語じゃなくてツールな
わざわざ訂正するほど重要なことなのか
ツールかどうかは微妙だがスクリプト言語っていうとしっくりくる気がする。 スクリプトっていう響きがなんかオモチャっぽいし。 いや、決して世の中のスクリプト言語をバカにしているわけではないが。
ツールってのはツクールとかのことを言うんじゃない?
あくまでHSPエディタがツールなんじゃないの?
まあそんなことどうでもいいジャマイカ
Ver4.xからは、フカヒレスーププロセッサーになるらしいよ
じゃあVer5.xからは?
ツバメの巣
やっぱ一般向けする方がいいんじゃない、カレーライスプロセッサー
おまいらおにいたまの言葉に対する繊細さが分かっちゃいねえ。「あったかいスープ を作るんだ!」 そう、HSPとは、おばあちゃんだ!欧米のだよ。日本のおばあちゃんなんて里芋の 煮っ転がししか作れねえ。あったかいスープなんて、欧米のおばあちゃんなら誰だって 作る。インスタントのスープしか作れない毒男が使えば、インスタントのスープしか作れ ねえ。勉強ができればそれでいい、料理なんか作れる必要はないと親から教え込まれた 西川史子女医が使えば、レトルトのスープしか作れねえ。だがな、ふっくらとした、 ニコリとすればおめめの端にいっぱいしわができるような欧米のおばあちゃんが作れば、 あったかいスープができるってぇことさ。そう、おにいたまが作りたかったのは、プロ グラマーの心の「故郷」だ。まさにBASICじゃないか。 「ああ俺は子供さ。だがな、お前だって子供だったんだよ!そういう心を持った、子供 だったんだよ!」 (金田一少年の事件簿 「魔術列車殺人事件」より) 要するに何が言いたいかってえと、カレーライスプロッセーサーなんてだせえ! それを言うならライスカレープロセッサだろってことだよ。しかもボンカレー、さらに甘口だ。
当然俺の好きなコーンスープになるわけだが、構造体はいつになったら使えるんだ?
カレーライス構造体がデフォルトで用意されてるのでどうぞ static auto struct union protected onitama::rice_curry { int jagaimo int ninjin int oujisama char beef[256] double sauce }
配列の添字に変数じゃ駄目なん?
ha?
>>972 逆に定数じゃ駄目なん?
と聞き返してやる。
可
なら聞くな。
>>972 それは妄想体とよばれ、非常にアクロバティックでトリッキーなコーディングを可能にする技術だ
なんか色々と会話がズレてないかおまい達 いや、俺もだけど。
じゃあ、次スレまでに元に戻そう
1000だったら面接でHSPって言って「なにそれ」って言われる。
2ならHSPの次期verがネイティブコードを吐けるようになる。
イオナズンを思い出すなぁ...
985 :
名前は開発中のものです。 :
2006/12/09(土) 06:13:26 ID:Z7ZV8wnF HSPの存在は奇跡だよ ありがたいものなんだ アマのゲ製作強力ツール