[表示 : 全て 最新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/

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には対応していないしなぁ

622 名前:名前は開発中のものです。 [2007/03/29(木) 04:44:25 ID:YSXEyT2v]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?




623 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 10:39:59 ID: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 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 11:35:10 ID:5ZBqJ65v]
>>623
大きさ変えるだけならwidthでいいんじゃね?
あと、clsよりboxfの方がいい。

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

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

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

627 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 10:45:02 ID:PkSFAggM]
>>626
redrawは入れました
読みずらくてすいません。

628 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 10:50:56 ID:bh2+2cXg]
int型になってるとか

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

630 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 11:47:38 ID: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 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 11:57:28 ID: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 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 12:05:42 ID: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 mailto:sage [2007/04/01(日) 13:39:14 ID:PkSFAggM]
>>630
>>631
ありがとうございます。
初歩的な勘違いをいくつかしていたのが原因だったみたいでした。

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

634 名前:631 mailto:sage [2007/04/01(日) 14:01:50 ID: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 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 14:25:16 ID: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 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 14:26:08 ID: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 名前:名前は開発中のものです。 [2007/04/01(日) 23:23:00 ID:qmrcQHpu]
>>624
亀だけどd

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

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

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

639 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 02:48:10 ID:E8nYiBqA]
やってみればいいだろそれくらいなら

640 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 03:43:50 ID:YF+orBxP]
constも使おうよ

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

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



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

642 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 07:03:07 ID:6D/Td0Rc]
#define 変数 cnt

repeat 3
mes 変数
loop

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



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

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

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


646 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 10:58:38 ID:WD0jAhl8]
システム変数に値を代入したいとか...?

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

repeat 4
#define buf(cnt) ,cnt
loop

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

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

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

649 名前:641 mailto:sage [2007/04/02(月) 20:21:16 ID:yH4J2c4D]
・・・イヤそうじゃなくて・・・

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

650 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 20:24:51 ID:GnD4wQd4]
hoge = cnt

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

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

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

652 名前:641 mailto:sage [2007/04/02(月) 20:44:30 ID:yH4J2c4D]
お答えありがdです。

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



653 名前:名前は開発中のものです。 [2007/04/02(月) 22:21:02 ID:fSYb2JxG]
nextbm.ty.land.to/index.htm

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

654 名前:名前は開発中のものです。 [2007/04/02(月) 22:31:48 ID: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("名前")って出来るみたいだけど・・・






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

前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