[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/11 18:20 / Filesize : 261 KB / Number-of Response : 894
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

HSP - Hot Soup Processor [14]



1 名前:名前は開発中のものです。 mailto:sage [2006/12/09(土) 22:35:08 ID:E0eCgjhQ]
       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 歴代スレ、関連サイトは >>2-4 あたり
    ヽ ──── '

  ONION software (本家)
   www.onionsoft.net/

521 名前:名前は開発中のものです。 [2007/03/05(月) 02:11:49 ID:6FToFsAD]
>>520
はい、そこまではわかりました。 でも、こんどはメッセージを送信したときに
メッセージがずらずら〜っといっぱい出てきてしまいます;;
Test17>test
Test17>test
Test17>test
Test17>test
Test17>test
こんな感じです;;
もう、思いつく限りの関数はHSP3用に直したのですが・・・;;
原因がさっぱりです

522 名前:名前は開発中のものです。 [2007/03/05(月) 02:14:37 ID:6FToFsAD]
*send
s=msg
instr a,s,"\n" //ここもa=instr(s,,"\n")に直しました
getstr ss,s,a+2
poke s,a,0
s+=ss
buf="say "+s+"\n"
tcpput buf,soc
objprm 0,""
return

523 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 02:36:17 ID:ao1dJWki]
//動作がよくわからなかったのでためしに書いた。
s = "0123456789\nabcdefg"
ss = ""
a = instr(s,0,"\n")
mes a
getstr ss,s,a+2
mes ss
poke s,a,0
s+=ss
mes s

つまり文字列途中の改行を抜きたいってことでいいのか?
もしそうならinstrとstrmidをセットで使ったほうが楽
strmid(buff,instr(buff,0,"\n")+2,256)
これでbuff内の\n以降が取得できる。

余談だが、\nって二文字分なのな。\n\rに変換してるってどっかで見たが・・・

524 名前:名前は開発中のものです。 [2007/03/05(月) 02:48:59 ID:6FToFsAD]
>>523 さん ほんとうにありがとうございます。
いぇ、改行を抜きたいのではなくて、pcbnet2のサンプルのsample01_Simplechat
をHSP3で正しくコンパイルしたいだけでして・・・;;

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

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

527 名前:名前は開発中のものです。 [2007/03/05(月) 03:54:46 ID:IdxZqlrk]
>>522
msg=""
objprm 0,""
return

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


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

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

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

にするだけの話だぞ

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



530 名前:名前は開発中のものです。 [2007/03/05(月) 04:19:35 ID: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 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 08:05:10 ID:9TVkJKsy]
関連付けてる変数を更新して、それをobjprmの引数にすれば
OKなんだけどね。

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

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

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

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


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

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

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

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

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



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

って回答でおk?

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


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

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

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

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

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

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

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

545 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 04:35:11 ID:PSudILgY]
どうでもいいけど
加速度→速度
いくらか・なんぼか→加速度
じゃね?

546 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 05:52:08 ID:mAtCxyxj]
それもそうだ
本能で書いた
すまぬ


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

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

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



550 名前:547 mailto:sage [2007/03/10(土) 07:57:00 ID:BrhUO2D5]
うまくいきました。
初歩的なことですいませんでした

551 名前:548 mailto:sage [2007/03/10(土) 08:53:38 ID:s4EgJTT+]
  ( ゚д゚ )

552 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 09:47:14 ID:RgqImxK/]
どっかのHSPまとめサイトかなんかで、

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

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



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

554 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 15:53:04 ID:dqgHW26b]
その手の宗教発言は真に受けるべからず

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

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

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

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





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

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

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



560 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 19:31:06 ID:s4EgJTT+]
クマー


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

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

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

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

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

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

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

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

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

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

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

567 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 23:00:49 ID:Of9Rb6RG]
コメントを英語で書けば何の問題も無い

568 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 23:05:06 ID:s4EgJTT+]
// sore naisu!

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



570 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 23:28:51 ID:uQgnCise]
>>559
マルチ乙w




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

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

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

572 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 00:39:28 ID:stPPhm55]
hspdxfixについて質問なんですが…

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

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



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

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

575 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 13:01:37 ID:9H6tJUaN]
つーか単なるあんたのプログラムミスじゃん。

576 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 15:27:59 ID:GsSBQTuQ]
その不具合が確実に起こる短いソースを書け

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

578 名前:573 [2007/03/11(日) 17:46:02 ID:iZ4HV+4f]
起動した後、Enterキーを押すたび、同じ画像が再描画されます。
ぽち、ぽち・・・と、Enterキーを、20回くらい押し続けると、
なぜか画像が変化します。
pal_DrawPolygonは、ここ↓
www.vector.co.jp/soft/win95/prog/se209258.html



#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 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 18:21:12 ID:/T7FdIWg]
リンク先はマンドクセからみてないが
基本命令の使い方すらわかってないのは良くわかった
こんなレベルでプラグイン使うな

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

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

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



580 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 20:33:12 ID:yv4HZkMu]
>>578
これはひどい

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

>>578
これはひどい

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

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

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

>>578
これはひどい

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

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

583 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 22:29:42 ID:/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 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 23:03:03 ID:k4eFOmxa]
どうでもいいことだけど
>screen 0,640,480
いらなくね
>redraw 0
redraw 2のがいいはず。
まあ実際はたいして変わらんが。
>KY=32
KY&32のがええかも。仕様によるが。
>gmode 2
ループの外に出せるね。

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

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

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

redrawはそうだっけ?忘れた

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




587 名前:1/2 [2007/03/12(月) 02:01:28 ID: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="@","A":playermax=2
続く

588 名前:2/2 [2007/03/12(月) 02:06:06 ID: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 名前:名前は開発中のものです。 [2007/03/12(月) 11:04:23 ID:mM+HHXub]
awaitって何ミリ秒ウェイトしてるの?
確かawait 16なら前のawaitから0.016秒「待った」後でウェイトが入るんだよね?



590 名前:559 [2007/03/12(月) 11:37:51 ID:NDVpsEF4]
>>587
>>588
ありがとうございます。

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

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

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

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

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

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

594 名前:名前は開発中のものです。 [2007/03/12(月) 12:59:26 ID: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 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 16:32:41 ID:gLL2hKAr]
>>592-594
回答有難うございます。
探してみたところ、MIA氏のtime.hpiが良さげなので、使ってみます。

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

hsp Manager で検索してみ

597 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 18:23:04 ID:kFfYyS9X]
>>570
何がわからないのかわからないのが初心者クオリティ

598 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 20:14:55 ID:gLL2hKAr]
>>596
サンクス! Time Manager for HSP3ですね。

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



600 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 20:53:37 ID:c7c2vkZ/]
初心者じゃなかったのか

601 名前:583 mailto:sage [2007/03/12(月) 21:15:42 ID:PDxfvhOI]
( ゚д゚)、ペッ 地球人め

602 名前:名前は開発中のものです。 mailto:sage [2007/03/13(火) 19:35:12 ID:N8GDXKRx]
コーディング能力・・・5だと?!

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

604 名前:名前は開発中のものです。 mailto:sage [2007/03/16(金) 04:49:37 ID:BDnU/+tv]
>>603
誰がうまいことをいえと・・・



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

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

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

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

608 名前:名前は開発中のものです。 mailto:sage [2007/03/17(土) 17:06:27 ID:HgUYLq+d]
>>605
重くなりそう

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



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

611 名前:名前は開発中のものです。 [2007/03/26(月) 00:48:34 ID:pDPzBZgB]
あげる

612 名前:名前は開発中のものです。 mailto:sage [2007/03/26(月) 01:10:12 ID:EnuQNPAk]
いらない

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

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

615 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 21:41:27 ID:rMTkz8BK]
再起動後に有効になります。
で良いんじゃね。


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

617 名前:613 mailto:sage [2007/03/28(水) 21:59:47 ID:A5jDWsKh]
切り替えは再起動がやはり前提になるのですね・・・返答、ありがとうございました

618 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 22:04:14 ID:W4jKrJc5]
再起動ってかDLL解放して再初期化だな

619 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 22:54:45 ID: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 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 23:00:06 ID:zDNvHnoM]
あー、
カーソル右で全画面、
カーソル左で窓モードに戻す
ESCで終了、です。(読みづらいかと思ったので一応)

621 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 04:26:24 ID:yzMVV1IZ]
ZGPはできたけど
今更3には対応していないしなぁ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<261KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef