HSP - Hot Soup Processor [14]at GAMEDEV
HSP - Hot Soup Processor [14] - 暇つぶし2ch524:名前は開発中のものです。
07/03/05 02:48:59 6FToFsAD
>>523 さん ほんとうにありがとうございます。
いぇ、改行を抜きたいのではなくて、pcbnet2のサンプルのsample01_Simplechat
をHSP3で正しくコンパイルしたいだけでして・・・;;

525:名前は開発中のものです。
07/03/05 02:54:53 ao1dJWki
>>524
というか俺、さっきも書いた気がするがHSP3から入ったからHSP2の知識が全く無い。
移植そのものの役には立てそうにない。
しかし、良いスクリプトってだいたいHSP2だな・・・

526:名前は開発中のものです。
07/03/05 02:58:45 6FToFsAD
>>525
ですねぇ;; ソースコンバータがもっとバージョンアップしてくれれば・・・・
             ↑
          すごい他力本願^^;

527:名前は開発中のものです。
07/03/05 03:54:46 IdxZqlrk
>>522
msg=""
objprm 0,""
return

一応これで出来た
hsp2だと objprm 0,"" で使ってるバッファも影響受けるのかな?


528:名前は開発中のものです。
07/03/05 03:57:48 ay926VlW
なんかごちゃごちゃやってるみたいだけど
ソースコンバータ通したスクリプトを

90行目
a=instr(msg,0,"\n")

135行目
a=instr(s,0,"\n"):msg=""

にするだけの話だぞ

529:名前は開発中のものです。
07/03/05 04:04:56 6FToFsAD
>>528
おお!! でけた! 528さん、ありがとうございます;;
このサンプルでpcbnet一生懸命勉強しようと思います。
どうもありがとうございました ペコペコ

530:名前は開発中のものです。
07/03/05 04:19:35 IdxZqlrk
sdim msg,1024
mesbox msg,200,24,1
repeat
s=msg
;instr(a,s,"\n") ;2用
a=instr(s,0,"\n") ;3用
if a>0{objprm 0,""}
title ""+msg
wait 1
loop
stop

やっぱり objprm の動作が2と3で違うな
2ならobjprm で操作したら使ってる変数内容も
変化するけど 3は変わらない
バグっぽいけど・・・

531:名前は開発中のものです。
07/03/05 08:05:10 9TVkJKsy
関連付けてる変数を更新して、それをobjprmの引数にすれば
OKなんだけどね。

ていうかウィンドウキャプション、改行コードも表示されちゃうんだ。
知らんかった。

532:名前は開発中のものです。
07/03/07 17:18:17 nPv9ImbS
サーバ側からクライアント側へ画像を転送するにはどうすればいいですか?

533:名前は開発中のものです。
07/03/07 18:44:46 nwF22j0Y
>>532
HTTPのGETコマンドで画像ファイルのURLをリクエストすればいい。
でもバイナリデータだからHSPだと切り出しがツライかも。

534:名前は開発中のものです。
07/03/07 20:09:37 nPv9ImbS
>>533
いあ、HTTPではなくて、サーバ側のbufferに描いた画像をクライアント側
にgcopyするみたいなことってできないですかね?


535:名前は開発中のものです。
07/03/07 20:18:53 hRCFzq0X
>>534
クライアント側がサーバになり(ポートを開いて接続を待ち受ける)、
サーバ側がクライアントとして振舞う(クライアントに接続に行く)ことで
ファイルを送りつけることは可能。
でも現実にはルータやファイアウォールとか、サーバの規約とか、
ウイルス扱いされるとか、ネットワークの安全性とか、色々な問題が予想されます。

536:名前は開発中のものです。
07/03/07 21:06:27 ydn30hoM
>>534
クライアント側に初めから用意されている画像を、
『どの位置か』といったシンプルな情報だけを通信でやりとりして、
それを基にクライアント側で処理させるのが無難。
 
何のためにそれをしたいのかを書かないと、大したアドバイスは出来ないと思う。
絵チャットみたいなのをしたいの?

537:名前は開発中のものです。
07/03/07 21:53:25 nPv9ImbS
>>536
なるほど。 別になにかしたいってわけではなくて、ただ、どうやったら
できるのかな?って疑問に思っただけなんです^^;
「どの位置」をクライアント側に渡してやればいいのかあ。
考えてみます。
どうもありがとうございました。

538:名前は開発中のものです。
07/03/08 17:40:29 TEJL+ADw
レースゲームのサンプルスクリプトってどこかないですか?
アクセルとブレーキの実装ってどうやっているのか知りたいのですが。

539:名前は開発中のものです。
07/03/08 17:51:20 V+92YLpv
>>538
物理計算を単純にした感じでいいんじゃね?

540:名前は開発中のものです。
07/03/08 19:31:25 swI1jhiZ
アクセル 前進
ブレーキ 停止
じゃなくて
アクセル 速度上昇
ブレーキ 速度減少
にして、速度によって位置を変えていけばいいんじゃね?

って回答でおk?

541:名前は開発中のものです。
07/03/08 19:34:54 TEJL+ADw
>>539
すいません、物理計算っていうのがわかりません;;


542:名前は開発中のものです。
07/03/08 19:42:23 TEJL+ADw
>>540
なるほどお!? わかったような、わからないような・・・
普通のキー入力だと、キーを離すとキャラクタが止まってしまいますよね?
キーを離しても、慣性で進んでいくような、レースゲームでは当たり前でしょうが、
経験が浅いのかおつむがバカなのかその具体的な方法が思いつきません

543:名前は開発中のものです。
07/03/08 20:07:41 hsHUTUZZ
*main
//キーチェック
if(加速キーが押されてたら):加速度=加速度+いくらか
if(減速キーが押されてたら):加速度=加速度-なんぼか

//座標更新
座標=座標+加速度

//グラフィック表示
pos(座標…
gcopy(グラフィック表示…

//ループ毎に減らす(アクセルを踏んでないとエンジンブレーキ)
加速度=加速度-ちょっと
goto *main

レースゲームだとたぶんキャラの位置は固定で背景だけが動く
だろうから適当に工夫してちょ

544:名前は開発中のものです。
07/03/08 20:29:52 TEJL+ADw
>>543
おお!ありがとうございます! これを元に考えてみます

545:名前は開発中のものです。
07/03/09 04:35:11 PSudILgY
どうでもいいけど
加速度→速度
いくらか・なんぼか→加速度
じゃね?

546:名前は開発中のものです。
07/03/09 05:52:08 mAtCxyxj
それもそうだ
本能で書いた
すまぬ


547:名前は開発中のものです。
07/03/09 22:18:11 OmsA6ix3
gzoomでキャラクターが画面向こうからこっちに迫ってくるようにしたいんですが
背景で画面をクリア(残像を消去)しながらやるとちらついてしまいます。
多分gzoom命令のせいだと思いますがちらつかなくする方法ってありますか?

548:名前は開発中のものです。
07/03/09 23:08:54 mAtCxyxj
redrawとかは当然使ってるんだよね
gcopyではチラつかないのにgzoomだとチラつく?

549:名前は開発中のものです。
07/03/09 23:48:34 9wm9gx0I
向かってくるキャラが女性なんだろう。
だから色々チラつくんじゃないかな。

550:547
07/03/10 07:57:00 BrhUO2D5
うまくいきました。
初歩的なことですいませんでした

551:548
07/03/10 08:53:38 s4EgJTT+
  ( ゚д゚ )

552:名前は開発中のものです。
07/03/10 09:47:14 RgqImxK/
どっかのHSPまとめサイトかなんかで、

このTIPSは理解しやすいように変数に全角文字を 使ってるけど
行儀が悪いので半角に換えましょう

みたいな事が書かれてたんだけど、・・・行儀悪い?
俺見易くなるようにNOを#とかにしてるけど・・・
後で思わぬ不具合が出るとか?



553:名前は開発中のものです。
07/03/10 12:02:56 EgnyZfl8
プログラムの書き方なんて千差万別
どの書き方がよくてどれが悪いなんて無い

554:名前は開発中のものです。
07/03/10 15:53:04 dqgHW26b
その手の宗教発言は真に受けるべからず

555:名前は開発中のものです。
07/03/10 16:21:45 C28IpD1h
HSPでアクションゲームつくりたいんだけどどこかいい解説サイトはないかな

556:名前は開発中のものです。
07/03/10 17:19:27 eQ0ijKNl
昔は「美しいプログラムを書きましょう」だの「スパゲッティ」だのよく聞いたんだけどな。今はソースを
他人に公開することもなく、チームを組んで作るとか後で後輩に引き継ぐとかするのでもなければ
行儀なんてどうでもいいんだろうな。現実にはそういう場合でもきったねえんだけどさ。
でもHSPなんてフリーソフトなんだから、やっぱ標準的な書き方しないと心配じゃね?変数を全角で
書いて、もし変な不具合が起こったらどうしようってずーっと心配しなくちゃいけない。行儀がどうこう
ってんじゃなくて、信用できない。起こらないんだろうけど。てか現実にはマイクロソフトだってそんな
に信用できないけどさ。

>>552
Dr.Dに怒られちゃうぞ。

557:名前は開発中のものです。
07/03/10 17:34:29 eQ0ijKNl
>>555
シューティングでもテトリスでも作り方がある程度分かればアクションも作れるだろ。あとはたっぷり
アクションゲームをやることだ。お前の言ってるアクションが格闘アクションのことだったら知らんけど。
てかHSPでアクションゲームに特化して解説してるがなかったら作れないってんならやめちまえ!





でも頑張ってね。(←ツンデレで)

558:名前は開発中のものです。
07/03/10 17:51:50 GJ+Cs3X4
どうせ横スクロールモノだろ?
シューティングよりも、テトリスの方が似てるかな。
テトリスの棒が左右に歩いてジャンプできれば、一画面物アクションなら出来たも同然。

559:名前は開発中のものです。
07/03/10 18:51:01 3t9NJGvE
すごろくゲームのサンプルスクリプトどこかにありませんか?
サイコロの出た目によってコマが進むしくみが知りたいのですがどうすればよいのかわかりません。

560:名前は開発中のものです。
07/03/10 19:31:06 s4EgJTT+
クマー


561:名前は開発中のものです。
07/03/10 19:49:45 GJ+Cs3X4
>>559
双六は、マップのデータの持ち方が意外にややこしいかもな。
・・・どうも、それ以前の段階で詰まってそうな感じだけど。

562:名前は開発中のものです。
07/03/10 19:56:29 5ZAWuvtI
>>559
まず一方通行&一直線のすごろくを作って、
配列インデックスと座標データとコマ表示の関係を学ぶといい。

1.一方通行&一直線のすごろく (基本)
2.クネクネしたすごろく (応用)
3.ぐるぐる回るすごろく (モノポリーなど)
4.分岐やループのあるすごろく (人生ゲームなど)
5.目的地があり、好きな方向に動けるすごろく (桃太郎電鉄など)

この流れで作っていけば君もすごろくマスターだ!

563:名前は開発中のものです。
07/03/10 21:02:03 rcfj8Pc0
>>552
同一ソース内に全角と半角を混ぜるなんて、
ちゃんと動いたとしても、気持ち悪くて出来ないな。
万が一、半角スペースのつもりで全角スペースを入れたときとか
見つけにくいんだよ意外と。
「そんなミスするわけないだろ(笑)」とか思っててもやってしまうのが
プログラミング。

少なくともそういう、「全角だろうが半角だろうがOK!」
っていう教え方をする先輩や上司はいないだろうな。

というか既に結論出ちゃってるけど、
個人でやるなら自由にすればいい。
団体でやるならマナーを守れと。

564:名前は開発中のものです。
07/03/10 21:14:58 Of9Rb6RG
ビリー「全角スペースなんて小さな事でお悩みの貴方に送る、テキストエディタ TeraPad!」

565:名前は開発中のものです。
07/03/10 22:04:35 A2NSoGOm
エディタで色分けやら下線強調表示できたところで、コード次第ではどのみち死ねますね
統一すんのは検索効率もあるし

566:名前は開発中のものです。
07/03/10 22:58:30 s4EgJTT+
どっちのスタイルにせよ
コメント文をソースに書くとき
全角にして半角に戻すのって面倒臭くない?

VC++でもしょっちゅう間違えてソースの方に
全角スペース入れてしまってコンパイル蹴られる。
漢字キーがもうちょっと近くにあると嬉しいのだが

567:名前は開発中のものです。
07/03/10 23:00:49 Of9Rb6RG
コメントを英語で書けば何の問題も無い

568:名前は開発中のものです。
07/03/10 23:05:06 s4EgJTT+
// sore naisu!

569:名前は開発中のものです。
07/03/10 23:25:27 9POELrpn
スペースは常に半角とか、IMEの設定でできなかったっけ?

570:名前は開発中のものです。
07/03/10 23:28:51 uQgnCise
>>559
マルチ乙w




釣りじゃないんなら
なにがわかんないのか書けばいいと思うよ

571:名前は開発中のものです。
07/03/10 23:34:42 s4EgJTT+
ああ、会社ではそれにしてる
シフト押しながらスペースで全角スペースになる

なんで家ではやってなかったんだ俺
なんか理由があった気がするが…忘れた

572:名前は開発中のものです。
07/03/11 00:39:28 stPPhm55
hspdxfixについて質問なんですが…

es_set等でスプライトの優先順位を設定した際に
数値が大きいスプライトが手前に表示されるのですが、
小さいほうを手前に出来ないでしょうか?

なんか設定ミスってんのかな、俺。



573:名前は開発中のものです。
07/03/11 09:11:36 iZ4HV+4f
多角形塗り潰しの命令でおすすめのないでしょうか?
ウィザードリィ風な3Dダンジョンをつくるのに台形の塗り潰し機能を使おうとしてます。
壁と天井の色を分けて裏画面で奥から手前に向かう順番で壁で塗り潰していってるのですが、
pal_DrawPolygonを使っていると、画面を何度か更新しているうちに
色がどちらか一方の色だけにかわってしまいます。

574:名前は開発中のものです。
07/03/11 12:00:57 /T7FdIWg
その謎命令については良く知らんが
gsquareじゃ駄目なん?

575:名前は開発中のものです。
07/03/11 13:01:37 9H6tJUaN
つーか単なるあんたのプログラムミスじゃん。

576:名前は開発中のものです。
07/03/11 15:27:59 GsSBQTuQ
その不具合が確実に起こる短いソースを書け

577:573
07/03/11 15:49:57 iZ4HV+4f
>>574-576
サンクス!
gsquareにかえたら問題解消でした。
短いソースかいてみます。

578:573
07/03/11 17:46:02 iZ4HV+4f
起動した後、Enterキーを押すたび、同じ画像が再描画されます。
ぽち、ぽち・・・と、Enterキーを、20回くらい押し続けると、
なぜか画像が変化します。
pal_DrawPolygonは、ここ↓
URLリンク(www.vector.co.jp)



#include "palhsp.as"
repeat
stick KY
if KY=32 {
screen 2,640,480 : cls 4
buffer 3,640,480 : cls 4
for j, 11, 7, -1 : for k, 3, 12,1 : for i, 6,15,1
pal_SetPoint 0,310+i*2,310+i*2
pal_SetPoint 1,410+j*2,310+j*2
pal_SetPoint 2,410+k*2,410+k*2
pal_SetPoint 3,310+k*2,410+k*2
color 25,125,50
pal_DrawPolygon 4,1
redraw 1
next : next : next
gsel 2,1
gcopy 3,0,0,640,480
}
wait 5
loop

579:名前は開発中のものです。
07/03/11 18:21:12 /T7FdIWg
リンク先はマンドクセからみてないが
基本命令の使い方すらわかってないのは良くわかった
こんなレベルでプラグイン使うな

あと、せめてこのソースが何をしようとしているか
ぐらい書け

「ボタン押している間だけ台形が表示される」か?

なんでメインループの、しかもキーチェックの中に
screen,bufferがあるんだ?

580:名前は開発中のものです。
07/03/11 20:33:12 yv4HZkMu
>>578
これはひどい

581:名前は開発中のものです。
07/03/11 21:08:13 9lsP7SN/
もっとソフトに叩いてやれよ。
HSPスレは初心者もしくはプログラム触り始めの人間が
現れるとすぐにムキになってブッ叩くクセがあって良くない。

>>578
これはひどい

582:名前は開発中のものです。
07/03/11 21:33:08 fVOjDyWr
初めて見るプラグインで、役に立ちそうな機能を持ってたので
どんな代物なのか自分でも確かめるために、>578の件を調べてみたが。

一見、HSPでも問題なく動いているように見えるけど、
更新されたのが2002年2月で、HSP3が出るずっと前のプラグインだから
HSP3には完全対応してないんじゃないかと思った。

実際、>578のスクリプトを2.61用に一部修正して実行したら、
描画が変化する問題は発生しなかった。
それにしても

>>578
これはひどい

ボタン1回押すごとに、324個のポリゴン描画してるのは
573の意図したものなのか、疑わしいな。

参考までに。 wait 5の前に
title str(cnt)
とか追加して、実行してみるといい。
これが573の意図した動作なのかどうか。

583:名前は開発中のものです。
07/03/11 22:29:42 /T7FdIWg
#include "palhsp.as"
screen 0,640,480 : //ループに入れるなカス!IDは0だろ
buffer 3,640,480 : cls 4//透過色用に黒か?
//意図は知らんがループ前に作ってちゃ駄目か?
for j, 11, 7, -1 : for k, 3, 12,1 : for i, 6,15,1
pal_SetPoint 0,310+i*2,310+i*2
pal_SetPoint 1,410+j*2,310+j*2
pal_SetPoint 2,410+k*2,410+k*2
pal_SetPoint 3,310+k*2,410+k*2
color 25,125,50
pal_DrawPolygon 4,1//んなマイナーなプラグイン知らん
next : next : next
gsel 0//描画対象を0に戻せ
repeat
redraw 0 //まず描画を裏画面にセットしろカス
color 80,50,50 : boxf //まず先に画面を背景でクリアしろカス!
//色をつけてみたのは透過するか確かめる為だ
//その上から描きたいものを載せろこのウジムシ!!
stick KY,32 //押しっぱなしの処理がしたいのか?ボウヤ
if KY=32 {
gmode 2//透過コピーで良いのか?
gcopy 3,0,0,640,480 //ID3に描いといた奴をコピーで良いのか?
}
redraw 1 //全部描き終わったら裏画面を表画面に反映しやがれ
title str(""+cnt+" "+(cnt/60))//秒間60フレームより速ければ秒より速く表示
await 5//awaitにしてみた
loop
//お前のママでもエスパーでもないんだ
//何やりたいかなんか知るかカス
//動的に変化させて表示させる意図なら知らん!自分で考えろ
//マニュアルのredrawとscreenとgselとこ100回読んで氏ね

584:名前は開発中のものです。
07/03/11 23:03:03 k4eFOmxa
どうでもいいことだけど
>screen 0,640,480
いらなくね
>redraw 0
redraw 2のがいいはず。
まあ実際はたいして変わらんが。
>KY=32
KY&32のがええかも。仕様によるが。
>gmode 2
ループの外に出せるね。

585:名前は開発中のものです。
07/03/11 23:10:44 V3/hxKyI
思い切りひっぱたいた後で一行ずつ丁寧に教えててワラタ

ツンデレってこのスレのことやね。

586:名前は開発中のものです。
07/03/11 23:24:14 /T7FdIWg
screenとgmodeについては
今後の変更のことも考えてそうした
背景を透過なしで使う可能性が高いからな

redrawはそうだっけ?忘れた

keyはコイツには&の説明すんのはめんどかった




587:1/2
07/03/12 02:01:28 UmbRWuRt
>>559
分岐無しだけど・・・
準備
#define colrgb(%1) color ((%1)>>16),(((%1)>>8)&$ff),((%1)&$ff)
#module
#deffunc getdat var indx,array ps,int no,int fg,local notdat,local strdata
chk='=' , ':' , ':' , ':' , ':'
noteget notdat,0:if fg=1 {indx=strsizeindx(no):masmax=no}:getstr strdata,notdat,indx,','
if strsize>0 {if fg=0 {masmax++:indx+strsize:strsizeindx(masmax)=indx}:idx=0
repeat 5:getstr tmpstr,strdata,idx,chk(cnt):if (strsize>0) {idx+strsize
: ps(cnt)=int(tmpstr)}loop}else{return -1}return masmax
#deffunc masmov array pdat,int pno,int masno
dupptr masdat,varptr(pdat(0,pno)),4*5:getdat indx,masdat,masno,1:return
#global
mas="0=16:16:100:80:,1=120:25:80:70:,1=200:32:80:70:,1=280:50:80:70"
mas+",1=300:130:80:70,1=220:150:80:70,1=140:180:80:70,1=80:230:80:70"
mas+",2=40:290:80:70:1j0n,1=120:300:80:70,3=200:290:80:70,1=280:310:80:70,10=360:340:120:90"
evmes="☆スタート☆","イベント無し","分岐点\n(未実証)","一回休み\n(未実証)","4","5","6","7","8","9"," ★ゴール★"
evcol=$f08080,$8080c0,$505080,$806030,$806030,$806030,$806030,$806030,$806030,$806030,$5080f0
evmcol=$ffff50,$a0f0f0,$f000f0,$101010,$806030,$806030,$806030,$806030,$806030,$806030,$f05060
randomize:buffer 1:notesel mas:repeat :getdat indx,ps,0,0:if stat<0 {break}
masmax=stat:colrgb(evcol(ps(0))):circle ps(1),ps(2),ps(1)+ps(3),ps(2)+ps(4),1
colrgb(evmcol(ps(0))):pos ps(1),ps(2)+ps(4)/2-8:mes evmes(ps(0)):color:pos ps(1),ps(2):mes masmax-1:loop
playernam="①","②":playermax=2
続く

588:2/2
07/03/12 02:06:06 UmbRWuRt
メイン
repeat:dim pdat,5,playermax:dim player,playermax:playerno=0:sai=0
gsel 0:clrobj :pos 500,100:button gosub "サイコロ",*rndsai:repeat:redraw 0:pos 0,0:gcopy 1,0,0,640,480:
if (sai>0)&(((cnt-tim)\15)=0)&mov{sai--:player(playerno)++:if sai=0{playerno=(playerno+1)\2::objprm 0,"サイコロ"}}
repeat playermax:masmov pdat,cnt,player(cnt):if pdat(0,cnt)=10 {Gaul=1}:color:x=pdat(1,cnt)+pdat(3,cnt)/5+cnt*32
y=pdat(2,cnt)+pdat(4,cnt)/5:circle x,y,x+17,y+17,1:color cnt*255,(cnt=0)*255:pos x,y:
mes playernam(cnt):loop:pos 0,0:color:mes "残り("+sai+")"
if Gaul{break}:repeat 2:pos 200-cnt,5-cnt:color (playerno*255)*cnt,(playerno=0)*255*cnt
mes "[ "+playernam(playerno)+" ] の番です。":loop:redraw 1:await 10:loop:Gaul=0:pos 250,220:color 255:
mes "[ "+playernam(playerno)+" が ゴール しました]":redraw 1:wait 200:loop
*rndsai:if sai=0 {sai=rnd(6)+1:title "サイの目["+sai+"]":mov=0:objprm 0,"移動"}else{mov=1:tim=cnt}:return

適当に改行してコメント入れてけば読めるだろう

589:名前は開発中のものです。
07/03/12 11:04:23 mM+HHXub
awaitって何ミリ秒ウェイトしてるの?
確かawait 16なら前のawaitから0.016秒「待った」後でウェイトが入るんだよね?

590:559
07/03/12 11:37:51 NDVpsEF4
>>587
>>588
ありがとうございます。

591:名前は開発中のものです。
07/03/12 11:55:55 gLL2hKAr
FPSを60に近づけたい時は、awaitの値を16にするんですよね。
うちの環境では、15と16では、かなりの差があり、15の方が正確に、秒をきざんでいるのですが
環境に依存するのでしょうか?

repeat
a+
title "" + a/60 + "秒"
await 15
loop

592:名前は開発中のものです。
07/03/12 12:32:17 PDxfvhOI
気になるようなら時刻を拾って補正すればいいんでは.
そこまで面倒かけてする必要があるかは謎だが.

うちも15の方が近い(60FPSよりやや早めになる)
16ってのは単に1000を60で割ったら16~17が一番近いってだけだろうから
理論上は60フレームで960mm秒しか待たない筈でも遅延を入れると
1000mm秒超えて結果的に15の方が近くなるのだと思う
たぶんマシンパワーが無いほど遅延が大きいと想像するがよく知らない

エロイひとの解説を待とう

593:名前は開発中のものです。
07/03/12 12:52:56 c7c2vkZ/
俺はOSのスレッド切替が10msで実行単位が20msだから間をとって2の乗数でキリのいい16、だと思ってた

594:名前は開発中のものです。
07/03/12 12:59:26 UmbRWuRt
>>591
await 1 とawait 10 を比べてみ
ほとんど違いが無いから
Win2000以降のOSだとawait 1でも10前後待つ


winmm.dll
 timeBeginPeriod タイマー精度の設定
 timeEndPeriod 設定解除
 timeGetTime 設定に合った精度で経過時間を取得できる

kernel32.dll
 Sleep 設定に合わせた精度で待つ

これらの組み合わせで、ある程度正確に待てる
使い方が分からなかったら、モジュールにして
公開してる人が居るから利用させて貰えばいい

有る程度正確って言うのは、Sleep 1としても
2ms待ってしまう環境があるから
2ms未満は時間を監視しながらループ回して
待てば正確さは増す(けどCPU使用率は上がる)

注意としては、awaitとSleepは別物なので、
Sleepを使っていてもawait 0は必ず必要
無いと閉じるをクリックしても終了出来なかったり
マウス座標収得やオブジェクトボタンの操作も出来ない

595:名前は開発中のものです。
07/03/12 16:32:41 gLL2hKAr
>>592-594
回答有難うございます。
探してみたところ、MIA氏のtime.hpiが良さげなので、使ってみます。

596:名前は開発中のものです。
07/03/12 17:18:23 UmbRWuRt
>>595
それは用途が違うHSP2時代のawaitが
少し処理を食ってたから作られた物で
タイマー精度には関係ない

hsp Manager で検索してみ

597:名前は開発中のものです。
07/03/12 18:23:04 kFfYyS9X
>>570
何がわからないのかわからないのが初心者クオリティ

598:名前は開発中のものです。
07/03/12 20:14:55 gLL2hKAr
>>596
サンクス! Time Manager for HSP3ですね。

599:578
07/03/12 20:48:26 bHRnq+dr
>>579-584
いろいろ、ありがとうございました。
>>583のプログラムはいろいろノウハウがあって驚きました。
自分のとは比べ物にならないほど綺麗に画面が切り替わりました。
初心にもどって頑張ります。
またきます。

600:名前は開発中のものです。
07/03/12 20:53:37 c7c2vkZ/
初心者じゃなかったのか

601:583
07/03/12 21:15:42 PDxfvhOI
( ゚д゚)、ペッ 地球人め

602:名前は開発中のものです。
07/03/13 19:35:12 N8GDXKRx
コーディング能力・・・5だと?!

603:名前は開発中のものです。
07/03/15 21:35:25 R/FJK7NS
コミュニケーション能力はマイナスみたいね。

604:名前は開発中のものです。
07/03/16 04:49:37 BDnU/+tv
>>603
誰がうまいことをいえと・・・



この2日間の空白を作ったのはは明らかに空気が詠めない子だね (`ω´;)

605:名前は開発中のものです。
07/03/16 12:32:21 s337brCd
今日ぐぐったら、ウィンドウ半透明化のサンプルを見つけた。
これから全てのウィンドウを半透明化してやるぜフゥーファハハハハー

606:名前は開発中のものです。
07/03/16 23:28:12 5xoFEMkV
なんだ、XPで擬似Vistaでもやる気か!

607:名前は開発中のものです。
07/03/17 04:07:05 w6Ip/tdc
>>605
HSPだとメインウィンドウだけしか半透明にできないよね。
もし、子ウィンドウも半透明にできるんだったら知りたい。

608:名前は開発中のものです。
07/03/17 17:06:27 HgUYLq+d
>>605
重くなりそう

609:名前は開発中のものです。
07/03/17 19:08:59 q4U0F70w
>>608
重くなりました・・・
特にタブブラウザと2chブラウザが致命的だたーよ

610:名前は開発中のものです。
07/03/17 21:02:55 Z5sWvh6/
メモリ2GB以上推奨じゃね。

611:名前は開発中のものです。
07/03/26 00:48:34 pDPzBZgB
あげる

612:名前は開発中のものです。
07/03/26 01:10:12 EnuQNPAk
いらない

613:名前は開発中のものです。
07/03/28 18:27:58 A5jDWsKh
フルスクリーンとウィンドウを動的に切り替えるdirectxのdllは無いのでしょうか?
hspdxfixじゃ切り替えようと思うと急に落ちてしまって・・・

614:名前は開発中のものです。
07/03/28 21:21:13 +O7YOmys
処理として凄く面倒だから対応していないソフトって結構あるね

615:名前は開発中のものです。
07/03/28 21:41:27 rMTkz8BK
再起動後に有効になります。
で良いんじゃね。


616:名前は開発中のものです。
07/03/28 21:47:57 W4jKrJc5
iniファイルとかを書き換えて再起動でいいんじゃね?

617:613
07/03/28 21:59:47 A5jDWsKh
切り替えは再起動がやはり前提になるのですね・・・返答、ありがとうございました

618:名前は開発中のものです。
07/03/28 22:04:14 W4jKrJc5
再起動ってかDLL解放して再初期化だな

619:名前は開発中のものです。
07/03/28 22:54:45 zDNvHnoM
;フルスクリーンじゃなくて、全画面ウィンドウへの切り替えなら…

#include "HSPDXFIX.as"
sx=800:sy=600:screen 0,sx,sy,0:d3d=0
es_ini:if stat : goto *owari
onexit goto *owari
es_screen sx,sy,32,0,1,d3d:if stat : goto *owari
es_cls 0,0,0:wx0=ginfo_wx1:wy0=ginfo_wy1
*main:await 0:kyP=ky:stick ky,ky:if (ky=128):goto *owari
color 0,0,0:es_boxf 0,0,sx,sy:color 255,255,255:es_boxf sx-8,sy-8,sx,sy
pos 0,0:es_mes strf("あめんぼあかいな(゚ω゚)aiueo ky=%3d",ky)
if ((ky=4)&(kyP=0)) {bgscr 0,ginfo_dispx ,ginfo_dispy, 0,0,0}
if ((ky=1)&(kyP=0)) {screen 0,sx,sy,0,wx0,wy0}
es_sync -17,2:goto *main
*owari:es_bye:end

;(全画面<->窓の切り替え処理は手抜きなので、
;このままでは実用するには不都合あると思いますが、参考までに。)

620:名前は開発中のものです。
07/03/28 23:00:06 zDNvHnoM
あー、
カーソル右で全画面、
カーソル左で窓モードに戻す
ESCで終了、です。(読みづらいかと思ったので一応)

621:名前は開発中のものです。
07/03/29 04:26:24 yzMVV1IZ
ZGPはできたけど
今更3には対応していないしなぁ

622:名前は開発中のものです。
07/03/29 04:44:25 YSXEyT2v
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


623:名前は開発中のものです。
07/03/29 10:39:59 3R4jXytD
ちっちゃい窓画面と二倍表示の窓画面の切り替えをしたくて、

#deffunc draw int dispbuf
getkey key,112
if key {
 if key_on = 0 {
  if wsize {
   wsize = 0
   screen 0,320,240,0,(ginfo_dispx / 2 - 160),(ginfo_dispy / 4) : cls 4
  } else {
   wsize = 1
   screen 0,640,480,0,(ginfo_dispx / 2 - 320),(ginfo_dispy / 4) : cls 4
  }
  key_on = 1
 }
} else : key_on = 0

gsel 0 : pos 0,0
if wsize = 0 : gcopy dispbuf,0,0,320,240
if wsize = 1 : gzoom 640,480,dispbuf,0,0,320,240
gsel dispbuf
return

「dispbufに全部描画したあとスクリーンに(拡大)コピーする」
っていう命令を作ってredrawの代わりに使ってるんだけど
なんか他にもっと簡単な手段とか無いですか?

624:名前は開発中のものです。
07/03/29 11:35:10 5ZBqJ65v
>>623
大きさ変えるだけならwidthでいいんじゃね?
あと、clsよりboxfの方がいい。

625:名前は開発中のものです。
07/04/01 08:33:57 PkSFAggM
repeat -1
chp_zure.i = furehaba * sin((kakusokudo*cnt)+(kakudosokudo*i));正弦波?
i++
if i>chp_max : i=0
//ここでずらした位置に画像をコピー処理
loop

擬似ラスタスクロールで波が作りたいんですが、自分で作ったやつを見ると何故かカクカクしてしまいます。
ズレを画像の縦の座標1ピクセルごとに正弦波で作ってやって、それをその座標でコピーしています。

626:名前は開発中のものです。
07/04/01 08:42:58 bh2+2cXg
・redraw入れたか?
・変数名が酷いがどう思う?
・sin( kakusokudo * (cnt + i) )のほうがいいと思うけど何か?

627:名前は開発中のものです。
07/04/01 10:45:02 PkSFAggM
>>626
redrawは入れました
読みずらくてすいません。

628:名前は開発中のものです。
07/04/01 10:50:56 bh2+2cXg
int型になってるとか

629:名前は開発中のものです。
07/04/01 11:10:44 PkSFAggM
実数で計算して最終的にint()を呼び出して変えてます。
一応左右には揺れるんですけど、波みたいに見えないんですよね
波の起こりが遅いように見えます

630:名前は開発中のものです。
07/04/01 11:47:38 bh2+2cXg
buffer 0
picload "test.jpg" //適当な画像
SZx = double(ginfo_winx)
SZy = double(ginfo_winy)
screen 1,SZx,SZy
kakusokudo = 0.05
furehaba = 0.0
dim chp_zure,SZy
i = 0
repeat
?repeat SZy
??chp_zure(cnt) = furehaba * sin( kakusokudo * double(cnt + i) )
?loop
?redraw 0
?color 0,0,0 : boxf
?repeat SZy
??pos chp_zure(cnt), cnt
??gcopy 0,0,cnt,SZx,1
?loop
?redraw 1
?i += 5
?kakusokudo += 0.0001
?furehaba += 0.1
?await 16
loop

ちょっと書いてみた。こんな感じでいい?

631:名前は開発中のものです。
07/04/01 11:57:28 l/QzLrkf
;モレも作ってみたヨ

#define PI 3.1415926535897932386 

w=32                ;波の強さ
t=128               ;波の間隔

buffer 2,640,480 :picload "",1
gsel 0
repeat
    repeat ginfo_winy
        x=sin(PI*((cnt*360/t+a)\360)/180)*w
        y=cnt
        pos x,y :gcopy 2,0,y,ginfo_winx,1
    loop
    redraw 1: redraw 2 :color 0,0,0 :boxf :color 255,255,255
    a+=16           ;波の速さ
    await 16
loop


632:名前は開発中のものです。
07/04/01 12:05:42 bh2+2cXg
ちょい修正
buffer 0
picload "test.jpg" //適当な画像
SZx = double(ginfo_winx)
SZy = double(ginfo_winy)
screen 1,SZx,SZy
kakusokudo = 0.05
furehaba = 0.0
dim chp_zure,SZy
i = 0
repeat
 redraw 0
 color 0,0,0 : boxf
 repeat SZy
  chp_zure(cnt) = furehaba * sin( kakusokudo * double(cnt + i) )
  pos chp_zure(cnt), cnt
  gcopy 0,0,cnt,SZx,1
 loop
 redraw 1
 i += 5   //スピード
 kakusokudo += 0.0001 //振動数
 furehaba += 0.1   //振れ幅
 await 16
loop


633:625
07/04/01 13:39:14 PkSFAggM
>>630
>>631
ありがとうございます。
初歩的な勘違いをいくつかしていたのが原因だったみたいでした。

あとできたら横揺れに縦揺れを追加する方法が知りたいんです。
一応疑問は解決したので、これはできたらでいいんですが

634:631
07/04/01 14:01:50 l/QzLrkf
   pos x,y :gcopy 2,0,y,ginfo_winx,1
      ↓
   pos 0,y :gcopy 2,0,x+y,ginfo_winx,1

こうすると縦揺れ(?)になるヨ


   pos x,y :gcopy 2,0,x+y,ginfo_winx,1
      ↑で縦横

635:名前は開発中のものです。
07/04/01 14:25:16 bh2+2cXg
// 1/2

#define SZX_EXT 128 //揺れてはみ出た分
#enum BUF_IMG = 0
#enum BUF_SECOND
#enum SCR_MAIN

//元画像バッファ
buffer BUF_IMG
picload "D:\\画像\\ありがちな虹\\25666.jpg" //適当な画像
SZx = double(ginfo_winx)
SZy = double(ginfo_winy)
//横揺れ
buffer BUF_SECOND, SZx + SZX_EXT * 2, SZy
//メインウィンドウ
screen SCR_MAIN, SZx, SZy
//横揺れ用
dim chp_zure_x, SZy + SZX_EXT
kakusokudo_x = 0.05
furehaba_x = 0.0
//縦揺れ用
dim chp_zure_y, SZy
kakusokudo_y = 0.05
furehaba_y = 0.0
i = 0

636:名前は開発中のものです。
07/04/01 14:26:08 bh2+2cXg
// 2/2

repeat
redraw 0
//横揺れを描画
gsel BUF_SECOND
color 0,0,0 : boxf
repeat SZy
chp_zure_x(cnt) = furehaba_x * sin( kakusokudo_x * double(cnt + i) )
pos chp_zure_x(cnt) + SZX_EXT, cnt
gcopy 0, 0,cnt, SZx + SZX_EXT,1
loop
//縦揺れを描画
gsel SCR_MAIN
color 0,0,0 : boxf
repeat SZx + SZX_EXT
chp_zure_y(cnt) = furehaba_y * sin( kakusokudo_y * double(cnt + i) )
pos cnt, chp_zure_y(cnt)
gcopy BUF_SECOND, cnt + SZX_EXT,0, 1,SZx
loop
redraw 1
i += 5 //スピード
kakusokudo_x += 0.00001 //振動数
furehaba_x += 0.2 //振れ幅
kakusokudo_y -= 0.00001 //振動数
furehaba_y -= 0.2 //振れ幅
await 16
loop

637:名前は開発中のものです。
07/04/01 23:23:00 qmrcQHpu
>>624
亀だけど㌧

他には特になし、てことでいいのかな…

638:名前は開発中のものです。
07/04/02 02:06:45 yH4J2c4D
#define 変数 システム変数(cntとか)

って無理なんですかね?
コレができれば管理の手間が減らせそうなんだけど・・・

639:名前は開発中のものです。
07/04/02 02:48:10 E8nYiBqA
やってみればいいだろそれくらいなら

640:名前は開発中のものです。
07/04/02 03:43:50 YF+orBxP
constも使おうよ

641:名前は開発中のものです。
07/04/02 06:32:38 yH4J2c4D
>>639
いえすでにやってみてエラーがでたんで、その回避か代替は可能かなと

>>640
#constでも、やはり変数を使ってる時点でエラーがでました



普通に需要がありそうな気がしたんですが、発想自体がイレギュラーだったのかな・・・

642:名前は開発中のものです。
07/04/02 07:03:07 6D/Td0Rc
#define 変数 cnt

repeat 3
mes 変数
loop

;何を言っているのかよくわからないよ

643:名前は開発中のものです。
07/04/02 07:51:02 OgFackaK
ネストしても各cntが生きてる時点でアウトな気がする

644:名前は開発中のものです。
07/04/02 08:30:49 AAu4E+87
#defineはただの置き換えだろ・・・同じ意味を持たせるってわけじゃないだろ・・・

645:名前は開発中のものです。
07/04/02 10:16:27 CBsQTNyT
>>641
>普通に需要がありそうな気がしたんですが、発想自体がイレギュラーだったのかな・・・
意味がわからね
何をするために必要なの?
意味あんの?


646:名前は開発中のものです。
07/04/02 10:58:38 WD0jAhl8
システム変数に値を代入したいとか...?

647:641
07/04/02 18:20:22 yH4J2c4D
;失礼しました・・・3D関係でオブジェクトIDというのが数字で割当てられているので
;それを名前で把握する為に#defineすると言うのが目的です。
;例えば
buf="pan","pin","pun","pen"

repeat 4
#define buf(cnt) ,cnt
loop

;という感じで、p2はp1に対応したオブジェクトIDを入れて使おうと思いまして。
;bufはメモリノートパッドで大量に読むので、その手作業を減らす為です。

648:名前は開発中のものです。
07/04/02 18:26:35 AAu4E+87
repeat 4
#define buf(cnt) ,cnt
loop

無意味なループじゃね?いろいろと勘違いしてないか?

649:641
07/04/02 20:21:16 yH4J2c4D
・・・イヤそうじゃなくて・・・

>>647で書いたように、#defineが変数の中身を参照した使い方がしたいけど
仕様ではそれができない(変数自体使えない)んで、
その代わりになる方法はないでしょうか?という質問です。解りづらくてスミマセン

650:名前は開発中のものです。
07/04/02 20:24:51 GnD4wQd4
hoge = cnt

651:名前は開発中のものです。
07/04/02 20:27:52 tpdpORJE
>>649
たぶん無理な気ガス。
どちらにしろ、#define はコンパイル前に置換するだけだから。

あえてやるなら、連想配列みたいな方法だと思うが。

オブジェクトIDと文字列が完全に固定なら、
repeat 4
mes "#define "+buf(cnt)+" "+cnt
loop
みたいにヘッダファイルを書き出してから、それをインクルードするw

652:641
07/04/02 20:44:30 yH4J2c4D
お答えありが㌧です。

やはり私の発想はどこか飛んでたようですね。あきらめてまた一から
違う管理方法を考えます

653:名前は開発中のものです。
07/04/02 22:21:02 fSYb2JxG
URLリンク(nextbm.ty.land.to)

毎月HSP掲示板に来てたのが廃刊してくれたそうだw
理由がワロスw

654:名前は開発中のものです。
07/04/02 22:31:48 nAJq39ai
>>647
オブジェクトIDは何が割り当てられるか不定で
使う時には名前でIDを使いたい?

俺はこんな感じでやってる(ID何番が割り当てられるかは気にしなくていいから楽)
#include "hgimg3.as"
#enum pan=10
#enum pin
#enum pun
#enum pen
#enum objend
dim id,objend
hgini
setsizef 10,10
addbox mid
repeat objend-pan,pan
regobj id(cnt)
loop
repeat
setpos id(pan),sin(0.1*cnt)*25
addang id(pan),0.01,0.01
setpos id(pin),0,sin(0.01*cnt)*20
addang id(pin),0,0.01,0.01
hgdraw
hgsync 10
loop

連想配列が実装されたらid("名前")って出来るみたいだけど・・・

655:名前は開発中のものです。
07/04/02 22:43:36 6D/Td0Rc
HSP3.1は連想配列の実装が予定されている・・・
そんなふうに考えていた時期が俺にもありました

656:名前は開発中のものです。
07/04/04 17:21:52 n+Mf/sOw
age

657:名前は開発中のものです。
07/04/04 19:18:19 xIUSvdy4
HSPって、&と&&の区別しないんだな
俺の3時間返せ

658:名前は開発中のものです。
07/04/04 19:34:58 WifholmS
つ【3時間】

659:名前は開発中のものです。
07/04/05 11:29:50 ym/KUe2Y
マニュアルよめよ

660:名前は開発中のものです。
07/04/05 11:36:49 qUHD2MB+
↑読んでないやつ

661:名前は開発中のものです。
07/04/05 11:41:19 Jnpg8Zk/
その辺りはマニュアルに書いてない、というか、
仕様外の演算子じゃねーの?

662:名前は開発中のものです。
07/04/06 22:37:19 9HFxtVR8
で、β8が出てる訳だが

>・更新履歴
>
> 2007/04/05 3.1b8
>
> 新規拡張プラグインhspcvを追加。(詳細はhspcv.txtを参照してください)
> 変数データをまとめてファイルに読み書きするためのvload、vsave関連命令(hspdaプラグイン)を追加。
> HSPCL(コンソール版)のinput命令でバイナリーモード時にEOFを誤認識する不具合を修正。
> コンパイル時の追加ファイル(hspdef.as等)が存在しなくてもエラー表示しないように修正。
> 変数名情報を常に出力するオプションを#cmpopt命令に追加。
> HSPSDK(プラグイン)側から変数IDと変数名に関する情報を取得可能に修正。
> RSSモジュール(mod_rss.as)のモジュール名を修正。(HSPBT#133)
> user32.as内のGetWindowModuleFileName関数定義を修正。(HSPBT#125)
> 拡張プラグインhspinetのftpopen命令のポート指定ができない不具合を修正。(HSPBT#58)
> 拡張プラグインHGIMG3の機能追加と不具合をいくつか修正(詳細はhgimg3.txtを参照してください)。


663:名前は開発中のものです。
07/04/07 00:05:32 wTOoLdT/
そのb8、実行するとタイトルがb7になるわけだが
あと、アナウンスも無いけどね

664:名前は開発中のものです。
07/04/07 21:21:42 xJqf1AgZ
正式版キタ

665:名前は開発中のものです。
07/04/08 08:49:30 yoJuvkiJ
メッセージボックスの指定行のバイト数ってどうやって求めてる?
OSの問題でsendmsgはボツだし、地道に計算したらフリーズするし・・

666:名前は開発中のものです。
07/04/08 10:45:14 YH0fkqKd
リンク張っていないので
URLリンク(www.onionsoft.net)
URLリンク(www.onionsoft.net)

なんかdgdgね

667:名前は開発中のものです。
07/04/08 11:34:02 kbz+IrgG
>>665
note系命令で指定行取得してstrlen

668:名前は開発中のものです。
07/04/08 12:54:56 yoJuvkiJ
>>667
thx

669:名前は開発中のものです。
07/04/08 20:17:18 5KwOsR6N
新しいヘルプになって最前面に固定できなくなった?

670:名前は開発中のものです。
07/04/09 12:50:06 DSUlSx8P
>なんかdgdgね
ディグダグ?

671:名前は開発中のものです。
07/04/09 19:56:01 6Hv4syfu
>>670
グダグダ

672:名前は開発中のものです。
07/04/09 22:23:05 ntsmkKok
dgdgならディグダグで正解じゃないか?w

673:名前は開発中のものです。
07/04/09 22:44:43 xQ5lPNOu
新しい描画プラグインってどうなの?

674:名前は開発中のものです。
07/04/10 01:23:00 k7+XauZp
>>673
こんなのが数十行で出来る
URLリンク(thelaughingman.net)


675:名前は開発中のものです。
07/04/10 01:59:10 E0BpcqA+
描画プラグインに新しいのが出たのか?

676:名前は開発中のものです。
07/04/10 08:57:53 k7+XauZp
β晩にhspcvが追加されている
が、サンプルはない


677:名前は開発中のものです。
07/04/10 09:00:39 k7+XauZp
haarcascade_frontalface_alt2.xml はぐぐれ
#include "hspcv.as"
cvbuffer ,280, 212
cvloadxml "haarcascade_frontalface_alt2.xml"
cvload "認識させたい画像"
cvfacedetect , 1.0
if 0 == stat {
mes "認識失敗"
}
facearea_num = stat
cvgetimg , 0
dim maskarea, 4
repeat facearea_num
cvgetface facearea(0), facearea(1), facearea(2), facearea(3)
mes ""+facearea(0)+","+facearea(1)+","+facearea(2)+","+facearea(3)
loop
とりあえずこんな感じで認識できるはず

678:名前は開発中のものです。
07/04/10 12:05:36 BMeKgnLh
>>677
動いた おもすれー

679:名前は開発中のものです。
07/04/10 19:02:17 wiWwQvgv
変数データを直接読み書きできるって事は
セーブ・ロードが簡潔にできるってことなのかな

680:名前は開発中のものです。
07/04/10 21:54:45 XIsMa+6t
うん

681:名前は開発中のものです。
07/04/11 05:13:37 SKNSOWMH
ノートパッドで切り出しとかやってセーブ・ロードに苦心してた事も
いい思い出に変わるのかな

682:名前は開発中のものです。
07/04/12 21:07:33 22vncB1J
初心者用講座とか色々廻ってたけど
電卓作るあたりで挫折した

683:名前は開発中のものです。
07/04/12 21:08:29 bCgTq/qC
盛りage

684:名前は開発中のものです。
07/04/12 21:20:14 j0G3mdxP
>>677
顔じゃ無い部分が認識された
よく見ると顔みたいに・・・

心霊写真かと思ったよw

685:名前は開発中のものです。
07/04/12 21:20:43 00Wev8Rd
電卓で挫折って・・・

686:名前は開発中のものです。
07/04/12 22:32:55 cq6R8ing
なんのためにコンピュータ使ってんだろうなw

687:名前は開発中のものです。
07/04/13 02:40:01 KoxYsYvL
こんぽじっとぱたーん・・・・??????

デジタル土方レベルのCかBASICしか出来ない香具師でも
力技だけでゲームを作れる言語作ってくれよ!


あ、もうあるか。

688:名前は開発中のものです。
07/04/13 15:33:03 kkKSJW2x
10,200,30,60 00 ってテキストに書いておいて、
カンマ区切りで配列にしたいんですが、

notesel fileLoad
noteload "data.txt",0
sdim Fname,32000,999
getstr Fname,fileLoad,0,','
dialog Fname.1
dialog Fname.2

って書いてもダイアログには数字が表示されませんでした。
カンマ区切りのテキストファイルから配列を作るにはどう書けばいいのでしょうか。

689:名前は開発中のものです。
07/04/13 15:59:15 a+Uovvd0
>>688
それじゃあ、最初の一つしか配列に渡されないよ
notesel fileLoad
;noteload "data.txt",0
fileLoad="10,200,30,60,00"
sdim Fname,32000,999
index=0
repeat
getstr Fname(cnt),fileLoad,index,','
index+strsize
if ','!stat {break} ;getstrで区切りキャラクタ以外で取り出された
loop
repeat
if Fname(cnt)="" {break}
dialog Fname(cnt)
loop
end

プラグイン hspdaの csvstrと間違えた?
こっちなら一行分なら一回で配列に代入される
(でもhspdaには色々バグがあるから注意)

690:名前は開発中のものです。
07/04/13 18:14:32 kkKSJW2x
>>689
ありがとうございます。おかげさまでできました。
助かりました。

691:名前は開発中のものです。
07/04/13 20:07:44 I5qoCwtL
>>669
それ必要なの?

692:名前は開発中のものです。
07/04/13 20:30:21 fWNR28q6
おれ別人だけど、ヘルプ見ながらスクリプト打ち込みたいとか?

693:名前は開発中のものです。
07/04/14 00:03:39 atoydD3j
>691
うん、ヘルプ見ながら打ち込むので俺には必要。
命令のパラメータさえ分かればいいから小さくして右上に出しっぱなしにしてたんだが。
今は画面の3分の2にエディタ開いて残りにヘルプ出してる。
ヘルプブラウザのreadme見ても何も書いてないから抹殺されたんだろうな。

694:名前は開発中のものです。
07/04/14 01:44:52 8sg2zORJ
作者のページにBBSもあるんだし
ここで聞くよりも、作者に直接聞いた方がいいと思うんだが

695:名前は開発中のものです。
07/04/14 13:46:00 atoydD3j
あるか、ないか、が聞きたかっただけだから。
なけりゃないで、やり方はあるから作者ページに書き込むほどでもないと判断した。

696:名前は開発中のものです。
07/04/14 13:57:51 tSlK/VcG
今アイテム数20個毎にページを増やすように作ってるんだけど、
コレを16個毎にして16進数で管理すると簡便化できる?

697:名前は開発中のものです。
07/04/14 14:21:07 XHCB7tyo
>>696
\式使えば楽

698:名前は開発中のものです。
07/04/14 20:07:48 tSlK/VcG
ありが㌧

699:名前は開発中のものです。
07/04/15 19:29:31 HlbFQmd9
HGIMG3の簡易コリジョン(AABB)は実装されてますけど、
パーツ毎判定みたいのはいつ頃に実装されるのかな?

あんまり実装遅いなら使いたくないけど、ランタイムなのが魅力的なんだよな~
おにーたまHGIMG3スケージュルも出して欲しい

700:名前は開発中のものです。
07/04/16 03:55:20 jNSmnASU
パーツっつーかポリゴン毎のコリジョンか?
かなり重くなると思うんで簡易的にやったほうが良いんじゃないかと思うんだが…。

701:名前は開発中のものです。
07/04/16 10:10:37 bENpqRAl
hmm使ってフルスクリーンで動画再生するとキー入力受け付けなくなるんだけど
どうしようもないですか?

702:名前は開発中のものです。
07/04/16 18:25:39 9S9SQQvC
256*224の解像度を512*448のウィンドウで2倍表示したいんですが、
directXを使う以外に方法はありませんか?

703:名前は開発中のものです。
07/04/17 01:46:56 Zo18qgQY
>>702
>>623-624

704:702
07/04/17 07:26:05 /o1QDDuz
>>703
どうもッス。ファミコンぽいアクション作ってて、
gzoomだと透過色が使えないので困ってます。

705:名前は開発中のものです。
07/04/17 11:40:10 Lf6HAn0k
>>704
読み込んだ後にgzoomで他のバッファにコピーしとけばいいだけじゃん
buffer 1
picload dir_exe+"\\sample\\demo\\jp6girl.bmp"
sx=ginfo(12)
sy=ginfo(13)
buffer 2,sx*2,sy*2
gzoom sx*2,sy*2,1,0,0,sx,sy
screen 0,640,480
gcopy 1,0,0,sx,sy/2
gmode 2
pos sx/2,0
gcopy 2,0,0,sx*2,sy

それか、表示用と違うバッファに画面を完成させてから表示用の画面にgzoom


706:名前は開発中のものです。
07/04/17 17:21:04 jur7HrQ+
座標の扱いが違うけどgmode の設定が利くのもある
buffer 1
picload dir_exe+"\\sample\\demo\\jp6girl.bmp"
sx=ginfo(12)
sy=ginfo(13)
gsel 0
gmode 2,sx,sy ;コピー元の画像サイズ
pos 320,240+sy/2 ;画像の中心(gcopy等と違い指定した座標が中心に来る)
grotate 1,0,0,0,sx*2,sy*2

後gsquareってーのもあるけど、大量にコピーするのには向かないかな・・・




707:702
07/04/17 18:15:12 vZNpL9Pl
>>705 >>706
うお、その発想はなかったわ!
どうもありがとうございます。

708:名前は開発中のものです。
07/04/17 22:14:21 bRIENLRO
最近hsp2.6でhspdxのプラグインを使ったSTG作ってるんだけど
壁に自機弾と敵弾があたると、自機弾と敵弾が消えるようにしてるんだけど
稀に弾がすり抜ける時がある。
これって敵弾と自機弾が同時に壁に衝突した時にすり抜けるのかね?
自機弾のタイプ値2
敵弾のタイプ値8
400は壁のスプライト番号
es_find a,10,a
if a=-1:return
es_check b,a,32,1,400,400
こんな感じなんだけど。
すり抜けないよう対処法を教えて欲しい。

709:名前は開発中のものです。
07/04/17 22:19:51 2AXbs49U
単に弾の移動量が自機の判定より大きくて抜けちゃってるだけじゃないの?

710:名前は開発中のものです。
07/04/17 23:06:48 H8BcVo3o
壁との当たり判定なんてスプライトの判定命令じゃなくて計算でやれ

711:名前は開発中のものです。
07/04/17 23:19:06 bRIENLRO
>>709
確かに移動速度も影響あるけど
速度を遅くしてもやっぱり同時に衝突するとすり抜ける。

で、対策を考えたんだけど
単純に衝突のサブルーチンを2つにする事により
2発動時に衝突してもOKになったみたい。
この時点で全くすり抜けなくなった。
サブルーチンを3つにすれば3発同時もOKかな。

712:名前は開発中のものです。
07/04/17 23:32:40 I7JDTHxT
>>711
hspdxって使ったことないんだが、そのes_checkって当たってるスプライト1つしか返さないんだな。
自前でやったほうが簡単そうだな

713:名前は開発中のものです。
07/04/17 23:48:03 bRIENLRO
es_checkはもし同時に衝突してたらスプライト番号が低いほうが優先される仕組みになってる。
少しでも衝突タイミングが違えば問題ないんだけど。
あと、一度すり抜けたスプライトはすり抜け中に再び衝突判定が得られにくい。
すり抜けてる最中に他のスプライトとの衝突判定が起きるから。
あと俺の使ってるのはhspdxじゃなくてhspfixの間違いでした。


714:名前は開発中のものです。
07/04/17 23:49:00 2AXbs49U
>>711
ああすまん、ちゃんと読んでなかった。壁なw

>>712
判定を始めるスプライト番号を指定できるから、ひとつ見つかったら
その番号の後から再検索すれば良い。

715:714
07/04/17 23:51:13 2AXbs49U
自己レス
>判定を始めるスプライト番号を指定できるから
そんなもん無かったw
勘違い

716:名前は開発中のものです。
07/04/17 23:52:08 BKWD+g7L
>>711
つーか一回当たったら判定処理から抜けてるだけじゃねーのか?w

で、使ってるのはhspdxfixだろ?
*sub
es_find a,10,0
if a=-1:return
repeat
es_check a,400,10,1,a
if a=-1:break
消す処理
a++
loop
return

これでいんじゃねーの?


717:名前は開発中のものです。
07/04/17 23:52:31 M+5M3LEd
>>708
その3行の前後の処理が分からないけど
出現してる敵・自機弾に、
漏れなく壁接触判定を行き渡らせるのなら
2行目のreturnが実行されるまで、
繰り返し処理をしないといけない。

*hitcheck
es_find a,10,a
if a=-1:return
es_check b,a,32,1,400,400
(bに対する何らかの処理)
goto *hitcheck


つーか、
そのプログラムを組むとしたら

*wallhitcheck
es_check b,a,10,1,400,400
if b<0: return
(bに対する何らかの処理)
goto *wallhitcheck

で済むんじゃないか?

checkのタイプ値32の説明がないから
このままでは不都合あるのかもしれないけど

718:名前は開発中のものです。
07/04/17 23:54:36 M+5M3LEd
間違えた。

*wallhitcheck の次の行
es_check b,400,10,1,400,400

だな。

719:名前は開発中のものです。
07/04/17 23:55:01 BKWD+g7L
>>713
やっぱりfixかw

>>715
大丈夫fixだから指定できるw

720:名前は開発中のものです。
07/04/17 23:58:44 bRIENLRO
1回衝突判定が終ったら弾スプライトに+1してループさせてる。
それでもすり抜ける。

721:名前は開発中のものです。
07/04/18 00:11:22 I6KwsLu+
>>720
まぁ何だ。

似たような事をやったことあるけど
問題なくDXFIXで衝突判定できてたぞ。

アルゴリズムが悪いか、
>>713の書き込みから明らかだが
なんか大きな勘違いしてるんだろ。


>es_checkはもし同時に衝突してたらスプライト番号が低いほうが優先される仕組みになってる。
同じフレームで、続きから走査すれば、同時に衝突した
「スプライト番号が高いほう」のスプライトが見つかりますよ

> あと、一度すり抜けたスプライトはすり抜け中に再び衝突判定が得られにくい。
> すり抜けてる最中に他のスプライトとの衝突判定が起きるから。
お前は何を言っているんだ。

722:名前は開発中のものです。
07/04/18 00:16:03 7jAYZaBw
スプライト番号が高いのが優先されるかどうかはどうでもいいから適当に書いた。
すまんかった。
後半の文はちょっとわかり辛かったかな。
まあ大した事無い事なので訂正しなかったけど。
まあまだゲーム製作初めたばっかりだから勘違いしてる所は結構あると思うけど。
とりあえずもう少し勉強してみます。

723:名前は開発中のものです。
07/04/18 00:47:39 7jAYZaBw
プログラミングよりも日本語や人間としての常識の勉強が必要だったようです。
スレ汚しして申し訳ございませんでした。

724:名前は開発中のものです。
07/04/18 01:04:07 0trzgnV6
なんだこの展開w

725:716
07/04/18 01:22:55 bCYiqmbF
#include "hspdxfix.as"
es_ini :es_screen 640,480,16,0,1,0:es_cls 0,0,0:buffer 1
picload exedir+"\\sample\\hspdx\\TESTCHR.BMP"
es_buffer 1:es_size 64,64,50,0:es_pat 1,64,64,0:es_set 1,mousex,mousey,1:es_type 1,1
es_pat 2,64*2,64,0:es_pat 3,64*3,64,0:es_pat 4,64*4,0,0:es_set 400,320,200,4:es_type 400,32
gsel 0
repeat
es_boxf 0,0,640,480:es_pos 1,mousex-32,mousey-32
stick stk,$ffff:if (stk>0) and ((cnt\10)=0) {es_new newid,2
if (100>newid) and (newid>0) {es_set newid,mousex,mousey,2:es_adir newid,0,-500:es_type newid,2}}
rnd r,3
repeat (r*((cnt\30)=0))
es_new newid,100:if (200>newid) and (newid>0){rnd x,640:rnd y,100:es_set newid,x,y,3
es_aim newid,320,200,100:es_type newid,8}loop
gosub *sub
es_draw:es_sync 1,-10
await 0
loop
*sub
es_find a,10:if a=-1{return}
repeat:es_check a,400,10,1,a:if a=-1{break}:es_kill a:a++:loop:return

hsp2.61で作ってみたけど擦り抜けなんて起きないぞ?
(最初3.0aの方で作って試したけど問題なかった)
使ってる変数の初期化を忘れてるだけじゃねーのか?

726:名前は開発中のものです。
07/04/18 04:34:37 zV0payYl
島根県のみなさん、パチンコをするなら、

  優良パチンコ店 エ○トワン     

に行こう! 遠隔(※1)をやっていないパチンコ店は「エイ○ワン」だけ!
違法ロム(※2)を使っていないパチンコ店も「エイト○ン」だけ!
○イトワンでは、遠隔等が可能な設備は入れていません。 ロムも、警察がチェックしやすくしています。

詳しい方はご存知の通り、どんなにパチンコの遊戯人口が変動しても、その市場規模は変わりません(※3)。
要するに、客が減っても、残った客から絞り盗る量を増やして調整しているのです。
しかし、何故それが可能なのか?…ご理解頂けると思いますが、9割以上の店が確実に遠隔等を行ってます。
1万店以上のパチンコ店の中で、遠隔も違法ロムも確実にやってないのは「○イトワン」ただ1店です!

※1…遠隔とは
 「お、あの客は新顔だな。勝たせて味を占めさせるか。遠隔操作で設定変更しよ」
 「客が減ってきたな。ま、設定を絞めて(違法)、1人あたりから搾る量を増やせばいいか」
 「あのオヤジ負け続けてるからそろそろ辞めるかもな。今日は勝たせてやるか」

※2…違法ロムとは
 「うちのアタリ確率は、もちろん他と同じ『○○○分の1』ですよ!(ロムいじってるからウソだけど)」

※3       市場規模   遊戯人口
 平成06年 30兆4,780億円 2,930万人
 平成08年 30兆0,630億円 2,760万人
 平成10年 28兆0,570億円 1,980万人
 平成12年 28兆6,970億円 2,020万人
 平成14年 29兆2,250億円 2,170万人
 平成16年 29兆4,860億円 1,790万人

727:716
07/04/19 17:58:35 D0ENsgxE
おーい>>723
プラグインのバグなのか
スクリプト側ののバグなのか
環境依存の問題なのか
はっきりさせろよ……

hspdxfixに濡れ衣を着せたかもしれないのに
無視か?

728:名前は開発中のものです。
07/04/21 07:42:36 2BG2s3w3
3.1b9公開。圧縮状態で7.5MBか。昔に比べるとずいぶん太った
気がするけど、プログラミング環境としてはまだ全然小さいんだよね。
今ではActiveBasicよりはでかいみたいだけど、使いではHSPが
圧勝だし。

729:名前は開発中のものです。
07/04/21 08:13:40 2bdLwNha
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」等で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。

730:名前は開発中のものです。
07/04/21 14:09:04 LM8tnE4F
>>728
いまどき大きさなんか関係あるか?

731:名前は開発中のものです。
07/04/21 15:30:40 gdpZ03+g
昭和から来たんだよ彼はw

732:名前は開発中のものです。
07/04/21 16:59:16 laYGd4sA
JAVAみたく500MBとかじゃないからいいよ
HSPはプラグインとサンプル豊富だから助かる



733:名前は開発中のものです。
07/04/22 10:49:51 GAHMA1wL
hspでデータ圧縮じゃなくて文字列圧縮できる?
出来れば、可逆でメモリーに保存したいのです

zlib試したけどメモリーだと一時保存に4倍使うからむりだったぽ

734:名前は開発中のものです。
07/04/22 12:54:13 JwKt5lan
4倍使うの意味が分からんが、平文を分割してから圧縮すればええんちゃう?
超巨大な文字列を圧縮する時に、必要なmallocがでかいとかそんな意味ならば。

735:名前は開発中のものです。
07/04/22 13:34:52 GAHMA1wL
>>734
4倍ってのは圧縮作業の為の展開エラー対策だと思うんだ・・・
圧縮されたデータを復元するにしてもどうやってるのか分からない

zlibはHSPでは使えないのかな

736:名前は開発中のものです。
07/04/22 14:10:18 xdLPXb3/
URLリンク(mia.taillove.jp)

737:名前は開発中のものです。
07/04/22 15:14:13 GAHMA1wL
>>736
メモリー内圧縮使ったことありますか?
そこで止まってます。

738:名前は開発中のものです。
07/04/22 15:33:16 xdLPXb3/
ボクちゃん、test_mem.as 読める?

739:名前は開発中のものです。
07/04/22 15:36:02 JwKt5lan
「メモリー内圧縮」って何か特別な意味(言葉)なん?
分割して圧縮処理じゃダメなんか?

740:名前は開発中のものです。
07/04/22 15:52:31 GAHMA1wL
>>738
読めますよ
実行して出来たデータ配列が元より大きいのは圧縮失敗じゃないんですか?

741:名前は開発中のものです。
07/04/22 16:01:02 xdLPXb3/
>>740
/* おまえは何を言っているんだ? */
#include "z.as"
#const DATASIZE 3000
#define AHO(%1,%2,%3,%4) color %2,%3,%4:mes %1:color 0,0,0
sdim rdata, DATASIZE
sdim cdata, DATASIZE
sdim udata, DATASIZE
rdata={"hspでデータ圧縮じゃなくて文字列圧縮できる?
出来れば、可逆でメモリーに保存したいのです\n
zlib試したけどメモリーだと一時保存に4倍使うからむりだったぽ"}
rsize=strlen(rdata)
mes ">元データ:":AHO rdata,0,0,255:mes strf(">サイズ:%d",rsize)
/* 圧縮 */
zSetDest cdata, rsize;DATASIZE
zCompress rdata, rsize,3;DATASIZE, 3
csize = stat
mes "\n\n>圧縮データ:":AHO cdata,255,0,0
mes strf(">サイズ %d バイト",csize)+strf("圧縮率 %d",writesize * 100 / rsize)
/* 解凍 */
zSetDest udata, DATASIZE
zUncompress cdata, DATASIZE:usize=stat
mes "\n\n>解凍データ" : AHO udata,0,200,0:erf=0
mes strf(">サイズ %d バイト",usize)
/* 比較 */
mes ">元のデータと比較" : erf=0;:poke udata,12,32
repeat DATASIZE
r=peek(rdata,cnt):u=peek(udata,cnt)
if ( r ! u ) { mes strf(">不一致@ %d文字目:",cnt)+strf("元[%c]",r)+strf(" ! 解凍[%c]",u):erf=1 }
loop
if erf=0 : mes ">相違点はありません"
stop

742:名前は開発中のものです。
07/04/22 16:01:19 JwKt5lan
>>740
すでに圧縮されているデータは、それ以上小さくするのはほとんど無理
というかヘッダとかで増えるぞ?

つーか、使い方が間違ってんじゃねーの?

743:名前は開発中のものです。
07/04/22 16:06:52 xdLPXb3/
自分には不手際がないと信じて疑わない
身の程知らずなボクちゃんの、挑発的な発言に、
ちょっと血がのぼってミスしちまったぜ。反省。

圧縮率表示のとこ、間違い。
strf("圧縮率 %d",writesize * 100 / rsize)

strf("圧縮率 %d",csize * 100 / rsize)

744:名前は開発中のものです。
07/04/22 16:11:45 GAHMA1wL
いや圧縮自体はできるんですが・・・
ややこしいので解決でいいです

745:名前は開発中のものです。
07/04/22 16:18:28 JwKt5lan
上手く説明ができなきゃ、上手く理解もできんて。

746:名前は開発中のものです。
07/04/22 16:54:06 hYUKyQue
>>740
>stat は圧縮後のサイズです。
>書き込み先のメモリが足りないなどでエラーが発生した場合は、
>stat=0 となります。
なぁ、これをどんな解釈したんだ?
配列は拡張されないからもとより大きくなんてならねーぞ
お前配列サイズを勘違いしてねーか?
dimで確保したのは1要素4バイトだぞ?
どこにも圧縮元より大きい作業領域が必要なんて書いてねーだろ
バッファが足り無きゃstat=0になるって書いてあるだろボケ


747:名前は開発中のものです。
07/04/22 17:07:14 xdLPXb3/
元データサイズが小さいから、効果が分かりにくいと思って
741のスクリプトをまた少し変えて
同じ文字列を100個連結させたもの(15000byte)に対する操作を試してみたが。
圧縮したら、297byte(圧縮率 2% 弱)にまでなった。
同じデータの繰り返しだからってのもあるかもしらんが。

いやぁ、zlib初めて使ったけど、けっこう強力だな。^^

(精神衛生上 よろしくないので、ボクちゃんの事を考えるのはやめた。)

748:名前は開発中のものです。
07/04/22 17:44:41 rmOxLuM6
サンプルにある
dim cdata, DATASIZE
zSetDest cdata, DATASIZE*4
ってーのを見て、4倍必要とか思い込んだんだろうな
dim cdata, DATASIZEのメモリサイズがDATASIZE*4なのにねぇ

なんで741のを見て分からないんだろう・・・



749:名前は開発中のものです。
07/04/23 00:12:53 4Rf7CIdU
HSP2.62とHSPDXFIXEDのプラグインを使ってゲームを作ってるんですけど
たまにキャラや背景の色が反転してしまう時があります。
毎回ではなくてたまになんです。
何か原因があるんでしょうか?

750:749
07/04/23 00:25:34 4Rf7CIdU
画像ファイルはBMPです。
あとパレットモードで236色にしています。
どうもプログラムが長くなってきてから色がおかしくなる頻度が高くなってきている気がします。
それとawaitの数値が多少影響してるようにも思えるんですけど。

751:名前は開発中のものです。
07/04/23 00:30:08 3Fv7BgL3
はっきり言ってそんなんじゃ判らんw
プログラム自体を分割して問題部分の切り分けをすべし。

752:名前は開発中のものです。
07/04/23 00:40:06 vbt0vmPJ
>>749
HSP2.62とかHSPDXFIXEDとか、聞きなれない名前なのが気になるが。

「色が反転」という症状を聞いて、最初に思い浮かぶのは
ブレンドファクターに、ESB_NEGATIVEが指定されているんじゃないか?
ということだが。

「D3Dスプライト機能を使ってない」 とか断言してしまうなら、知らん。

753:名前は開発中のものです。
07/04/23 00:41:23 gvRd6xEU
BMPのパレットが揃ってないとか


754:名前は開発中のものです。
07/04/23 01:00:19 4Rf7CIdU
毎回色がバグるのなら原因究明もラクだと思うんですけど
稀にしか起こらない現象だから原因を探すのが難しいんですよ。
デスクトップの解像度とか関係あるのかな?
あと3Dは使ってないです。

755:名前は開発中のものです。
07/04/23 01:15:33 gvRd6xEU
めんどくさいからハイカラーかフルカラーで作れ。

756:名前は開発中のものです。
07/04/23 01:43:12 3Fv7BgL3
ああ、そうだな。。
なんでパレットモードなんか使ってんだ。
パレチェンしたいなら別の画像持てば良いじゃない。

757:名前は開発中のものです。
07/04/23 04:04:26 I+xnwNF2
流れ切って申し訳ない
モジュールで大きい文字列を返すといきなり落ちるんだけどなぜでしょうか?
2048byteを超えたあたりでエラーになって、それよりはるかに大きいと落ちる。

例えば、

#module
#defcfunc hana str mogera
return mogera
#global
a = "なんかでかい文字列・・・・"
mes hana(a)

↑これである程度大きな文字列で落ちる
でも、

#module
#defcfunc hana str mogera
mes mogera
b = strlen(mogera)
return b
#global
a = "なんかでかい文字列・・・・"
mes hana(a)

これだと落ちない。
なぜなんでしょうか。


758:名前は開発中のものです。
07/04/23 04:38:01 nyr50uuI
>>757
hsp3.0aでやったけどエラーも落ちることも無いぞ?
環境書け

759:名前は開発中のものです。
07/04/23 09:47:55 HhfYCboy
HSP ver3.1β8です
上の例だと落ちないけど、aの値が大きくなると落ちます。

実際に落ちるスクリプトを書きます。
j=509だと落ちないけど、j=510だと落ちます。
さらに、j=510以上でも return b とするとおちません。

j = 509
#module
#defcfunc hana str mogera
b = strlen(mogera) : return mogera
#global
sdim a,j*4+1
repeat j
b = strf("%04d",cnt) : poke a,i,b : i += strsize
loop
mes str(i) + "\n" + hana(a)


どうやって回避すればいいのでしょうか。


760:名前は開発中のものです。
07/04/23 11:47:41 lQ85Pfj4
>759
758じゃないけど、俺のとこでも試してみたらj=510では落ちなかった。
ウチの環境だとj=10000までOK。

761:名前は開発中のものです。
07/04/23 11:52:32 lQ85Pfj4
>759
バッファオーバーフローが原因なので、なにか計算間違いがあるのかも。
sdimで指定する値を必要な分だけ大きくすれば大丈夫なのでは?

762:名前は開発中のものです。
07/04/23 15:28:03 ExoMwemo
>>760
それはエラーが起きてる場所が違くないか?w

>>759
β版使ってるなら最初に言えよ・・・

ver3.1β8で起きてる問題で3.0aではエラーは出無かった
β8はモジュール関係で色々不具合が出てるみたいだから
3.1b9 を試してみたら?

ダメだったら
●HSPWiKi HSP3バグトラッッキングシステム
にでも挙げとけば修正されるだろう

763:名前は開発中のものです。
07/04/23 15:34:21 ExoMwemo
>3.1b9 を試してみたら?
自分で試した方が早そうだから試したらエラー出無かったよ

>struct型の配列終了処理でエラーが発生することがある不具合を修正。(HSPBT#144)
これ関連のバグだったのかな・・・


764:名前は開発中のものです。
07/04/23 20:51:29 iPysckQP
β8の不具合ということなので、β9を落としてみた
結果はかわらず。さっぱりわかりません。

試しにHSPのあるフォルダの
hsed3le.exe というのを起動させて>>759をコピペして実行してみると
j = 10001 以上でエラーとなった
「Error20 in line8 バッファオーバーフロー」

そこで、sdim a,j*5+1 、 b = strf("%05d",cnt) とやると
エラーはなくなる。当然・・・なのかな。

同様に hsed3.exe でやってみると j=510 以上でエラー。
でもこちらは「error1 in line11(???) システムエラー」とのこと


一応PCのスペックは
winXP home , Athlon64 3200+ , メモリ1G

もうお手上げだが、エラーは起こらないって人の方が多数なので
びっくりするほどの初歩的ミスを犯していないか心配になってきた


765:名前は開発中のものです。
07/04/23 21:11:10 oSeQHQqW
俺がそのトラブルに当たったときは、ああまたHSPのバグかと思って
変数渡しのコードに変更したよ

766:名前は開発中のものです。
07/04/23 22:53:07 QLdFJFVh
とりあえず>>759は、

sdim a,j*4+1
b = strf("%04d",cnt) : poke a,i,b : i += strsize

jが5桁になると、bも5文字になるのでエラーになるのは当たり前だな。

767:名前は開発中のものです。
07/04/23 23:26:32 80wwsZlh
>>764
原因を突き止めたかもしれない
デバッグウィンドウ表示させてないか?
3.0aでもDBウィンドウ表示させてるとエラーが出た
表示を切ればj=50000とかでも3.1b8でエラーが出ない
どうだ?

これが原因なら バグトラッッキング に行ってら

>j = 10001 以上でエラーとなった
これは766が言ってる通り
だから762で突っ込み入れといたのに・・・

768:名前は開発中のものです。
07/04/24 00:12:44 BuNmsmYs
>>767
それが正解のようでした
デバッグウィンドウを表示させないとエラーは出なかった

5桁のほうは、単純な問題でしたね。

バグトラッキングがよくわからないけど
報告する場所があるのかな。

とにかくありがとう。
置換用のモジュール作るのに2048byte縛りはあまりにもきつかったから助かったよ

769:名前は開発中のものです。
07/04/24 00:18:59 QtkXlejF
>>768
β版がアップされてるページの下のほうに
バグ報告用のページがリンクされてる


770:名前は開発中のものです。
07/04/24 14:26:48 QrQgTR4I
まだッが一個多いままなのかw

771:名前は開発中のものです。
07/04/24 17:02:41 xgJkhdwr
今はじめて気づいたw

772:名前は開発中のものです。
07/04/24 20:11:32 9drbfLn6
気合を入れて発音しているだけですので仕様です。
修正予定はありません。

773:名前は開発中のものです。
07/04/24 21:55:10 Nf3/8HfV
~ッッ

774:名前は開発中のものです。
07/04/24 23:16:37 9drbfLn6
もっとッ

「──ッッ!!」

って感じで。恋人や家族を殺された主人公が敵と対峙したときのような、
声にならない怒りと憎しみの表現だよ。日本語ってすごいよね

775:名前は開発中のものです。
07/04/24 23:42:34 uJIuySMN
ジョジョだな

776:名前は開発中のものです。
07/04/25 11:17:31 cNm9Fqt7
ファイナルファンタジーってこれで作ってんの?

777:名前は開発中のものです。
07/04/25 12:29:42 a5AmdZFY
              ,、-―-、
             丿   <`)       __
        ,、- ''' "二ヽ_(ヽ'`(二ニ・    |   \_
        /  、     !__'、_┌´     │   / `' ー┐
     /     ヽ   |   `         |   |     |
   ___ |    ヾ__|   |   _,、r‐'',ニ=-  |  /  _,、-‐'゙
 _| '、|    ミ/ ゙、  |_,∠-''´ ̄`'ー、   ̄|-''" |
 \|.  |     l___l     / ̄ヾ`´`   | ̄ ̄ ̄`'''iー、
.  |/゙|    ̄   ヽ_,、-''´`ヽ _,、,、,、,、_|______|_
  |  ( ´         ,、- ''゙  丿 ヾ二二二二二二二二二|ニ!
  ヽ<二二二二二>~/ / /   └‐┬─‐──┬┘
      フ,||,     / / /      │        │
      ''´ | |   _ノ  /.          │        │
.        | |   >/ ./         │        │

778:名前は開発中のものです。
07/04/25 13:36:22 PyhPVqEN
また音楽の話で悪いけど、ゲームでwav,midi共に音量をコントロールしようと思って
今はプラグイン二つの併用か、MCIでmpegvideoにしてやる方法の二つを試してる。

音量のためだけにプラグイン二つも使いたくないし
mpegvideoはME以前では入っていないかもしれないので
どうしようか悩んでいるのだけど

なんかいい手は無いですかね

779:名前は開発中のものです。
07/04/25 17:28:05 pHry1m7d
今時midiなんぞ使うのか
どうせ作曲者の意図どおりに鳴らないし
全部オーディオデータで統一したほうがよくね

780:名前は開発中のものです。
07/04/25 19:09:46 ZMrMyasg

( ´,_ゝ`)プッ
   ⊂彡☆))Д´) >>776
     パチーン!!

781:名前は開発中のものです。
07/04/25 19:20:11 fK/xi7te
>>776
常識過ぎてみんなあきれてるぞ。クレジットにそう書いてあっただろ

782:名前は開発中のものです。
07/04/25 19:58:49 vIB2Tzgo
市販ゲの殆んどがHSPだよな。
たまにツクールも見るが。

783:名前は開発中のものです。
07/04/25 20:52:13 VYJu+Wqs
Vistaは余りにも有名

784:名前は開発中のものです。
07/04/25 21:06:01 fK/xi7te
ああ、Vistaはちょっと泣いちまったよ。
もと宿敵だったアーロンをかばってキースが特攻したシーンなんか、ヤバかったな。
ていうか演出があざと過ぎ

785:名前は開発中のものです。
07/04/25 21:38:59 jZG+4jJU
>>784
OS

786:名前は開発中のものです。
07/04/25 22:18:50 fK/xi7te
>>785
魔法使いだな。

787:名前は開発中のものです。
07/04/25 23:06:53 4DX9ZUzz
オス! おらビスタ!

788:名前は開発中のものです。
07/04/26 16:20:50 u0xY1+V8
冥王星に代わっておしおきよ!

789:名前は開発中のものです。
07/04/26 18:16:57 hUYx8S1F
>>788
職務怠慢を理由に左遷され当時の上司を逆恨みし、復讐の機会を狙ってるんだっけ

790:名前は開発中のものです。
07/04/26 20:18:33 2xt9h9SY
sgtって、Directsoundでソフト音源で鳴らすから環境依存にならないらしいんだけど、
負荷高いのかな?oggとどっちにしようか迷ってるんだけど、どうですか?

791:名前は開発中のものです。
07/04/26 20:28:32 vjdyL8/F
sgtって何

792:名前は開発中のものです。
07/04/26 23:15:40 by3e610C
hspのアイコンってコーフィーカップみたいだけど
ジャワのパクリなの?

793:名前は開発中のものです。
07/04/26 23:31:56 gBmqOl1c
ホットスープだからじゃね?

794:名前は開発中のものです。
07/04/27 00:02:59 egFvpP+c
ホット"スープ"プロセッサ
スープカップ
スープポット

javaのコーヒーカップは"ジャワ"コーヒーから?

795:名前は開発中のものです。
07/04/27 08:30:28 WUq5gpdx
Javaは“ジャバ”コーヒーから

796:名前は開発中のものです。
07/04/27 14:58:30 egFvpP+c
"Java coffee" の検索結果 約 305,000 件
"ジャワコーヒー" の検索結果 約 2,300 件
"ジャバコーヒー" の検索結果 約 622 件

797:名前は開発中のものです。
07/04/28 00:20:12 daus4mQk
今HSP3でシューティングを作ってる。
弾等を制御する際、モジュールでやってみたいんだけど、複数種類の弾や敵を各1つの配列でまとめる事って出来ない?
たとえば弾aとbがあって

#module a x,y,vx,vy
#modinit int cx,int cy

return
#modfunc amove

return
#global

#module b x,y,bcnt
#modinit int cx,int cy

return
#modfunc bmove

return
#global

dimtype shotmod,vartype("struct"),32
newmod shotmod,a,cx,cy
newmod shotmod,b,cx,cy

ってやってforeachで回したとき、どうやったらaはamoveで、bはbmoveで処理するように出来るの?
一種類の弾ならサンプルスクリプトの方法で出来るんだけど…

798:名前は開発中のものです。
07/04/28 07:22:58 WZUrEfmt
自分で処理を分けるしかない(モジュールを2段にしてタイプ識別用と各種データ用で分ければ楽かな)
#module a x,y,vx,vy,anmcnt
#modinit double cx,double cy
x=cx:y=cy:r=atan(mx@-x,my@-y):vx=sin(r)*5:vy=cos(r)*5:anmcnt=0:return
#modfunc amove
if abs(320-x)>330 or abs(240-y)>250{return -1}
anmcnt++:x+vx:y+vy:pos x-16,y-16:gcopy 1,((anmcnt/10)\5)*32,0:return 0
#global
#module b x,y,r,bcnt,anmcnt
#modinit int cx,int cy
x=cx:y=cy:bcnt=0:anmcnt=0:r=0.0:return
#modfunc bmove
if abs(320-x)>330 or abs(240-y)>250{return -1}
bcnt++:if bcnt<200{r=atan(mx@-x,my@-y)}
anmcnt++:x+=sin(r)*5:y+=cos(r)*5:pos x-16,y-16:gcopy 1,((anmcnt/5)\5)*32,32:return 0
#global
#module set type
#modinit int t,int cx,int cy
type=t:if t=0{newmod shot,a,cx,cy}else{newmod shot,b,cx,cy}:return
#modfunc move int no
if type=0{amove shot(no)}else{bmove shot(no)}
if stat=-1 {delmod shot(no)}:return stat
#global
buffer 1:color:boxf
repeat 5:color ,255:siz=5+(cnt)*(cnt<2)+(1-cnt)*(cnt>1):circle 16+cnt*32-siz,16-siz,16+cnt*32+siz,16+siz
color 255::circle 16+cnt*32-siz,16-siz+32,16+cnt*32+siz,16+siz+32:loop::gsel 0
dimtype shotmod,vartype("struct"),32
repeat:redraw 0:color:boxf:title str(max):mx=mousex:my=mousey:gmode 2,32,32:max=0
foreach shotmod:move shotmod(cnt),cnt:if stat=-1 {delmod shotmod(cnt)}:max++:loop
if max<32 and rnd(50)<5{cx=320+200-rnd(400):newmod shotmod,set,(rnd(5)<2),cx,cy}
redraw 1:await 10:loop
モジュール型変数の新しく追加された要素か次に使われる要素が簡単に分かれば配列で簡単に出来るけど・・・(空いてるところを探すか空いたところを記憶してソートするしかない?)

799:名前は開発中のものです。
07/04/28 10:12:45 hldoJq+Y
文字が多くなって文字が画面からはみ出たときは
自動でスクロールバーが表示されるようにするにはどうすればいいの?

800:名前は開発中のものです。
07/04/28 15:25:23 FrIkuCPn
>>799
mesboxで横スクロールバー付きエディットボックス

801:名前は開発中のものです。
07/04/30 01:10:28 b3vJoRK1
HSP2.6なんだけど
例えば画面内に敵キャラが100体居るとします。
主人公がそのうちの1体だけをランダムに攻撃した時に
その1体のスプライト番号を取得するにはどうすればいいですか?

802:名前は開発中のものです。
07/04/30 01:39:21 amrAC7iW
そのスプライトは何で表示してんだ?
HSP自身にはスプライト機能は無いぞ

803:名前は開発中のものです。
07/04/30 13:43:16 fcI/zZT6
自分で配列に素プレイと番号を保存して管理したほうが早いだろ

804:名前は開発中のものです。
07/05/01 00:27:14 Zg8bJwrH
【バージョン】HSP3.0
キャラクタデータの記述された設定ファイルを作って、
そこから数値を読み込めるようにするにはどうすれば良いのでしょうか?
例えば、chara.cfgというファイルを作ってその中に、
HP=500と言う文字列を入力しておくと、
mes "HP="+HP+"/500"とした時にHP=500/500と表示されるように・・するみたいな。
要するに外部ファイルから数値を読み込むにはどうすれば良いのでしょうか?

805:名前は開発中のものです。
07/05/01 01:20:55 82VWC4K+
/*
NAME=名無し
HP=500
MP=50
の内容で chara.cfg を作ったとして
*/

fname="chara.cfg"
notesel loadat ;メモリノートパッド命令のバッファに設定
exist fname
if strsize<=0 : end
noteload fname
sdim temp,1024
repeat noteinfo(0) ;読み込まれた行数分ループ
noteget temp,cnt
getstr key,temp,0,'='
if '=' not stat {continue } ; = が無かったので、この行を飛ばす
getstr strdat,temp,strsize,0
if "NAME"=key {NAME=strdat}
if "HP"=key {HP=int(strdat)}
if "MP"=key {MP=int(strdat)}
loop
mes "NAME="+NAME
mes "HP="+HP+"/500"
mes "MP="+MP+"/50"

処理速度は無視してるけど一回で何千とか処理するんじゃ無ければ大丈夫だろう
つーか、これぐらいその辺に転がってるだろ・・・

806:名前は開発中のものです。
07/05/01 01:39:35 Zg8bJwrH
>>805
ありがとうございました。
講座を検索したりしたのですが、hsp3以前向けだったり、iniだけだったりしたので
どうも解決出来ませんでした。調べが足りず、申し訳ありません。
今後はなるべく自力で何とかしようと思います。お手数をおかけしました。

807:名前は開発中のものです。
07/05/01 02:12:43 82VWC4K+
>>806
ヘルプで必要になるだろう単語を入れて命令を絞って
それを使ってネット検索すれば誰でも使いそうな事は見つかるよ

今回のだと 文字列操作 とか テキスト で出てくる命令を使えば色々出てきたと思う

808:名前は開発中のものです。
07/05/01 13:21:29 Fn3EPEPt
ツールを作っている所で、つまずいてしまいました。質問させてください。

メインウィンドウにリストボックスか、コンボボックスが、あるとして、
そのどちらかに、フォーカスを合わせた後、ボックス以外の所をクリックしても、
マウスホイールの移動量(mousew)の取得が、出来なくなってしまいす。

ボタンをクリックすると、取得出来るようになりましたが、わざわざボタンを用いずに
mousewを取得することはできないでしょうか?

809:名前は開発中のものです。
07/05/01 17:12:27 S/wjR4mW
>>798
モジュール型変数を二個使うとは思いつかんかった
亀ながら㌧!

810:名前は開発中のものです。
07/05/02 08:39:23 Tyg11Emh
>講座を検索したりしたのですが、hsp3以前向けだったり
HSPVer2.6で講座作ってた奴は、Ver3が出た時にあったま来ただろうな。「ぬおお、おに
たままで俺の努力を台無しにするのか!ちくしょー!どいつもこいつも俺の努力を踏み
にじりやがって!そんなに俺のやることなすこと全部無駄にしたいのか!そんなに俺を
役立たずにしたいのくわぁぁぁぁ!」って。
俺もだけどな。

811:名前は開発中のものです。
07/05/02 09:29:25 da3SoYqw
大丈夫。
重要なのはソースではなく概念、アルゴリズムだから。

812:名前は開発中のものです。
07/05/02 15:27:01 EySZ2yOg
概念だったら別の言語でもよいわけで
HSPに依存する細かい使用の部分ってことでしょう

813:名前は開発中のものです。
07/05/02 18:06:48 iDXhpPSB
>>810
ま、三角関数や平方根を自前で計算するような無駄な努力も
必要なくなったってことで、先を見ればいいことではある

814:俺8(二代目) ◆fSWXoEZVTE
07/05/02 20:55:37 t0LZt7tH
あぷろだの件ですが、 @wikiの系列ぽい所で@pagesがあります。
容量1GB(1ファイルあたりのサイズ上限はなし。ただし1MB超えると送信速度が落ちる)
PHPが使えるのでpukiを設置してみる、とかはどうでしょう。
問題あったら指摘よろしく。

815:俺8(二代目) ◆fSWXoEZVTE
07/05/02 20:56:17 t0LZt7tH
すみません、誤爆しますた。

816:名前は開発中のものです。
07/05/02 21:27:35 rOvofM6X
ゆるす

817:名前は開発中のものです。
07/05/02 23:26:45 TgBlF1Ug
ゆるさん

818:名前は開発中のものです。
07/05/02 23:45:48 RTrLrXoW
HSP3系の講座が少ないのは、
みんな、HSPに飽きてきた可能性もある?


819:名前は開発中のものです。
07/05/03 00:09:04 AtM1JTCE
>>818
HSP3とHSP2たいして変わらないから
あと付属リファレンスが充実したから

820:名前は開発中のものです。
07/05/03 11:54:57 m3dHlTBm
>>819
まあそれでも誰も付属のリファレンスなんか見ていないんだがな
本家BBSで質問してくる香具師は少しは調べろつーの

821:名前は開発中のものです。
07/05/03 15:44:01 ysyR2/y+
ちょっと聞いただけで奇特なひとにサンプルを作って貰えるのが
HSP最大の売りだからな

822:名前は開発中のものです。
07/05/03 21:15:47 dXmWF+4T
元々ゲーム作りに詳しい講座は少ないような気がする。

823:名前は開発中のものです。
07/05/03 23:03:18 kPqmtDgq
HSP2.6とHSPDXFIXでSTGを作ってるんだけど
自機の斜め移動速度を縦横と同じ速さにする方法がよく解りません。
横移動 x+4
縦移動 y+4
斜め移動 x+3:y+3
位にすると大体同じくらいの速さになるけど。
でもコレだと速すぎる。
横と縦の移動量を2くらいにしたいんだけど
そうすると斜めの移動量はどうなるんでしょうか?



824:名前は開発中のものです。
07/05/03 23:21:41 7TvtNXkU
そういうのは数学の知識が要る。
三角関数でググれ。

825:名前は開発中のものです。
07/05/03 23:26:36 tLhZ5Q0K
あと、内部で保持する座標は画面表示と1:1の座標じゃなく、
小数を保持するために10倍・100倍の整数か浮動小数点を使え。

826:名前は開発中のものです。
07/05/03 23:40:01 s69yTu18
>>823
最も単純な方法は…

;acnt 現在までのトータルフレーム数
if acnt&1 :x+=1 :y+=1 :else :x+2 : y+=2
つまり、1フレームごとに加算する量を変えるというワケ
これだと10フレームで15ドット移動する。

if acnt&1|(acnt\5=0) :x+=1 :y+=1 :else :x+2 : y+=2
これだと10フレームで14ドット移動する。
( 1,1,2,1,2,1,1,2,1,2 )


座標を256倍で扱うという方法もある。こっちをオススメする。
実際の位置指定時には>>8する。

x+=362 :y+=362    ;256で1ドット相当
pos x>>8,y>>8

827:名前は開発中のものです。
07/05/03 23:48:21 kPqmtDgq
>>824-826
どうも有難うございます。
とりあえず浮動小数点ってのが今の自分にはすぐに理解するのが難しいかなぁと思いますんで
>>826さんの方法でやってみたいと思います。

828:名前は開発中のものです。
07/05/04 05:01:12 N4dI25+p
いやそんなもん三角関数使って計算しろよ…

縦横に移動した時の移動量が1なら
斜めに移動した時の移動量は0.707106781186547

829:名前は開発中のものです。
07/05/04 05:03:26 N4dI25+p
ごめん2.6ってのを見落としてた

830:名前は開発中のものです。
07/05/07 01:09:39 Uyq9GLST
HSPでゲームを作ってるんだけど
作ったヤツをウェブサイトで公開したい訳ですが
フォントをMSゴシックにしてゲームに表示させても
フォントの著作権とか問題ないんですか?

831:名前は開発中のものです。
07/05/07 02:18:48 B/mb8Q1D
>>830
ない。
と言うか、フォント内蔵の場合なら(厳密には)問題あるが、単にOSのフォントを呼び出す分には全く問題ない。
ユーザーの環境に指定のフォントが入ってなければ、表示が想定通りに行かなくなるだけだし。
どこぞの拾い物フォントを勝手に内蔵して使う分には、それぞれのフォントの許認可条件に従うこと。

まあ、基本的に、フォントをフォントそのものとして内蔵し、フォントとして使用できる形で公開しない限り、
無問題と考えて大丈夫。メチャ本格的に、大規模な商利用する場合はまた別だが、まあ気にすんな。

832:名前は開発中のものです。
07/05/07 20:03:12 KYFqszNb
>>831
ということは、フォントテーブルを持ったゲームやフォントを埋め込んだPDF,
フォントを使った画像ファイルにフォントのアウトラインが誰からも見られる紙の
印刷物は問題なの?

フォントって特殊な立場だな。

833:名前は開発中のものです。
07/05/07 20:20:16 jNjPNdHX
フォントの利用規約による

834:名前は開発中のものです。
07/05/07 21:49:47 pmbXnqyF
「12歳からはじめるHSPゲームプログラミング」という本を見ながらじゃんけんゲームを作成しているのですが、
以下のソースを実行すると"#Error 18 in 6 (janken.hsp) -->代入できない変数名を指定しています"と出て、正常に実行されません。


randomize
buffer 1,,,1
picload "janken.bmp"

screen 0,320,260,1
gmode 2

*hazime
rnd R,3
pos 30,0 : gcopy 1,0,0,200,180
pos 30,70 : gcopy 1,200+(80*R),0,80,90
wait 50
goto *hazime


何かおかしな部分がありますか?
本はHSP2を対象に書かれていて、現在使用しているのはHSP3なので、そこらへんが問題だと思うのですが、いかがでしょうか?

835:名前は開発中のものです。
07/05/07 21:52:15 Foh+9yi0
rnd R,3

R = rnd(3)


836:名前は開発中のものです。
07/05/07 22:02:25 B/mb8Q1D
>>832
まあ結局>>833の言うとおりなんだけどな。

生ttfをゲームに同梱して配布するのはかなりやばい。
内部にBMP化してフォントを内蔵するのも、それなりにやばい。
一枚絵の中に文字が入っている、程度ならあまりやばくない。

また、大抵の場合、フォントを内蔵したワープロソフトみたいな
「フォントを"フォント"として取り扱う形態で配布」すると問題が大きくなる。
(注:ゲームには無関係のように見えるが、よくある「名前を入力する」部分が
ワープロ的だと見なされる場合がある)

やばいなと思うなら、フォントを内蔵せず、OSのフォントを呼び出すだけにしておいたら安全確実。
一枚絵の中に文字が含まれている、程度ならまあ大丈夫。
何万と売りさばく事が前提なら、何れにしろきちんとライセンスを取っておくこと。

837:名前は開発中のものです。
07/05/07 22:03:17 PZ9SZ2Mt
>rnd R,3

R=rnd(3)

HSP2の頃のサンプルを使うなら
HSPエディタの有るフォルダに index.htmってのがあるから
その中の

・以前のバージョンからの変更点(アップデートガイド) (update.htm)

これを一度見といた方がいい


838:名前は開発中のものです。
07/05/08 05:43:06 vruKdlwD
クォータービューのACTやSTGの、当たり判定は矩形のまま行っているの?
それとも、クォータービュー用(?)定番アルゴリズムとか、あるんでしょうか

839:名前は開発中のものです。
07/05/08 10:53:15 8GDuzc4l
別に矩形で良いんじゃないの
何か問題?

840:名前は開発中のものです。
07/05/08 16:45:06 GV3ApysF
>>835
>>837
これでやっと先に進めます!
アップデートガイドの存在には気がつきませんでした。
今後は活用したいと思います。
ありがとうございました。

841:名前は開発中のものです。
07/05/08 23:45:41 tONREbU4
関数タイプになって
pos rnd(639) , rnd(479)
みたいな記述ができて楽になった

gcopy 1,200+(80*rnd(3)),0,80,90

842:名前は開発中のものです。
07/05/09 20:52:30 VSNS2raa
HGIMG3のモデル領域は開放できない?
オブジェクト領域はできるらしいんだけど エロイ人ご教授ください

843:名前は開発中のものです。
07/05/09 23:53:51 07ufZ3sL
>>838
クォータービュー用定番アルゴリズムなんてものはない!ゲ製作はいまだに職人
の世界だっ!師匠の指裁きや筆遣いや寿司ネタの握り方を見て技術を盗むんだよ。
定番のアルゴリズムは講座や本読めば買いてあるだろう。しかしクォータービュー
だとか、ちょっと凝ったやつになるとどうだ。ブツを見てどんなアルゴリズムなんだろう
な~と想像するしかない。ブラックボックスってやつだね。でもゲ製作ってそういう
もんじゃね?ゲーム見て「これってどうやったらできるんだろう」って思う。そしてその
方法を考える。「ああこうやればできるや」って思えば技術の向上だ。
俺くらいの中級者になるとざっと考えるだけでこんだけ出てくるぜ。
>>839に同じ。矩形。
・円ならもうちょっとマシなんじゃないか。
・ひし型の当たり判定その1。三角形2つと四角形1つに分ける。三角形は斜めに
 なった四角形の判定でできる。
・ひし型ってのは長方形が上に行けば行くほど右にずれてるってことだ。そこから
 導かれる計算式は?
・計算的にはまっすぐなスクロール。表示する時だけ斜めにする。

844:名前は開発中のものです。
07/05/10 00:20:36 2z4zuSSr
つーか、クオータービューとか関係なく、辺り判定したいキャラの形が問題なんじゃね?

845:名前は開発中のものです。
07/05/10 00:34:29 J9txepzh
よっぽど巨大で複雑怪奇な形でもない限り矩形で問題ないが

846:名前は開発中のものです。
07/05/10 04:35:42 U2vxhvV7
えー?
ていうか、クォータービューって単に表示上斜めってなってるだけだから
内部処理では普通のSTG等と同じ事やってて、
表示だけ斜めにするんじゃねーの?

847:名前は開発中のものです。
07/05/10 06:59:01 +xzQXwZO
いや、その理屈は正しい

848:名前は開発中のものです。
07/05/10 14:06:21 IknmfbEQ
あ?
3Dでやるの?

849:名前は開発中のものです。
07/05/10 21:03:24 tEu0m8/u
質問なんですがゲームで2人対戦を作るとき、
キーボードを二つパソコンにつないで同じボタンを押しても
1Pが押したのか2Pが押したのか分かるやりかたを教えてください。
お願いしますm(__)m


850:名前は開発中のものです。
07/05/10 21:54:52 J9txepzh
それは無理だろ

851:名前は開発中のものです。
07/05/10 22:00:18 Pb7a8JUW
環境がSFCなら出来るんじゃね?

852:名前は開発中のものです。
07/05/10 23:03:11 lvPcrjF3
>849
やり方があるのかどうかは、知らないが。
キーボードを二つ接続したPC環境を構築している人間は、少数派だろうから、
そのゲームを一般に公開するつもりなら、別の操作系を考えるのが賢明だと思う。
自分や仲間内だけで遊ぶゲームなら、その限りではないけど。

853:名前は開発中のものです。
07/05/12 03:18:16 iitxNH6p
>>849
2人以上ならゲームパッド(ジョイバッド?)を使うのが普通だろうね。
パッドvsパッドかパッドvsキーボード。
というかそもそもキーボードはゲームにむいてない。一般のキーボードはほとんど2~3キーロールオーバーだから。


あ、マウスvsキーボードって対戦もありか。w


854:849
07/05/12 09:38:38 CHidITY3
そうですか…無理ですか…ありがとうございました。

855:名前は開発中のものです。
07/05/12 11:00:15 IIhlPIBe
つーか、その環境持ってるor調べようと思う奴が少ないからな。
今の時代パソコン2台でネット対戦にした方が早い気もするし。

856:名前は開発中のものです。
07/05/12 11:31:45 BKWL2B2V
国内で最も使われてるフリーな環境はHSPですか?

857:名前は開発中のものです。
07/05/12 11:42:17 9cDQPoon
昔、PC-88mkIISRというパソコンがあって、それにキーボード端子が2つ付いてた。
友人の家にキーボード持っていって実際に試したけど
両方のキーを受け付けて、判別はできなかったな。

マウスVSキーボードも、対戦マインスイーパー作って試してもらったんだけど
圧倒的にマウスのほうが操作早くて、公平なプレイにならなかった。

まぁ、パッド2つが無難だろう。

858:名前は開発中のものです。
07/05/12 15:11:32 tMkY9b8/
88SRって端子二つあったっけ
おぼえてねー

859:名前は開発中のものです。
07/05/12 20:47:05 LoRPkVYn
>>856
何に使われてる環境だ?

860:名前は開発中のものです。
07/05/12 23:28:26 tMkY9b8/
ミサイル弾道計算じゃね

861:名前は開発中のものです。
07/05/12 23:29:58 qzFNDBxk
>>855
確かに、俺も対戦ゲーム作る時は、普通にLAN対戦にするだろうな。
そっちの方が楽だろう。

862:名前は開発中のものです。
07/05/13 01:01:01 8A9djd1g
>>854
XP以降限定だけど、WM_INPUTでHIDの生データ取れば実現できるんじゃね?
試してないけどさ

863:名前は開発中のものです。
07/05/14 00:05:11 bOzJ10Yl
マウスホイールの操作で画面スクロールさせようと思ってるのですが
mousewの使いかたがよくわかりません。。。
どうすればいいですしょうか?

864:名前は開発中のものです。
07/05/14 00:26:20 uwtqYVSD
mousewはスクロールされると-120とか120という値が取得できます


// 画面の高さ
y = 0

*main
// 一時保存
// -1は情報が±が反転してるから
mw = mousew*-1
// もし動いたなら
if ( mw != 0 ) {
// その数値を加算
y = y+mw
// 調整
if ( y < 0 ) {
y = 0
}
if ( y > ginfo( 13 ) ) {
y = ginfo( 13 )-20
}
}
// 描画
redraw 0
color 255, 255, 255 : boxf
color 0, 0, 0 : boxf 0, y, ginfo( 12 ), y+20
redraw 1
// 待機
await 10
goto *main


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch