HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0604
ikemendesuスクリーンのサイズ変更の事について24解決


ikemendesu

リンク

2013/6/4(Tue) 22:19:54|NO.54568

スクリーンは初期のサイズよりは小さくできますが
大きくはできませんよね。

スクリーンのサイズにcnt命令入れて大きくするようなソースコードを作ったら
エラーが起きてしまいます
ですがこれだとエラーはおきません。。


gosub*aaa
screen 0,201,201,0,0,0
gosub*aaa
screen 0,202,202,0,0,0
gosub*aaa
screen 0,203,203,0,0,0
gosub*aaa
screen 0,204,204,0,0,0
gosub*aaa
screen 0,205,205,0,0,0
gosub*aaa
screen 0,206,206,0,0,0
gosub*aaa
screen 0,207,207,0,0,0
gosub*aaa
screen 0,208,208,0,0,0
gosub*aaa
screen 0,209,209,0,0,0
gosub*aaa
screen 0,210,210,0,0,0
gosub*aaa
screen 0,211,211,0,0,0
gosub*aaa
screen 0,212,212,0,0,0
gosub*aaa
screen 0,213,213,0,0,0
gosub*aaa
screen 0,214,214,0,0,0
gosub*aaa
screen 0,215,215,0,0,0
gosub*aaa
screen 0,216,216,0,0,0
gosub*aaa
screen 0,217,217,0,0,0
gosub*aaa
screen 0,218,218,0,0,0
gosub*aaa
screen 0,219,219,0,0,0
gosub*aaa
screen 0,220,220,0,0,0
gosub*aaa
screen 0,221,221,0,0,0
gosub*aaa
screen 0,222,222,0,0,0
gosub*aaa
screen 0,223,223,0,0,0
gosub*aaa
screen 0,224,224,0,0,0
gosub*aaa
screen 0,225,225,0,0,0
gosub*aaa
screen 0,226,226,0,0,0
gosub*aaa
screen 0,227,227,0,0,0
gosub*aaa
screen 0,228,228,0,0,0
gosub*aaa
screen 0,229,229,0,0,0
gosub*aaa
screen 0,230,230,0,0,0
gosub*aaa
screen 0,231,231,0,0,0
gosub*aaa
screen 0,232,232,0,0,0
gosub*aaa
screen 0,233,233,0,0,0
gosub*aaa
screen 0,234,234,0,0,0
gosub*aaa
screen 0,235,235,0,0,0
gosub*aaa
screen 0,236,236,0,0,0
gosub*aaa
screen 0,237,237,0,0,0
gosub*aaa
screen 0,238,238,0,0,0
gosub*aaa
screen 0,239,239,0,0,0
gosub*aaa
screen 0,240,240,0,0,0
gosub*aaa
screen 0,241,241,0,0,0
gosub*aaa
screen 0,242,242,0,0,0
gosub*aaa
screen 0,243,243,0,0,0
gosub*aaa
screen 0,244,244,0,0,0
gosub*aaa
screen 0,245,245,0,0,0
gosub*aaa
screen 0,246,246,0,0,0
gosub*aaa
screen 0,247,247,0,0,0
gosub*aaa
screen 0,248,248,0,0,0
gosub*aaa
screen 0,249,249,0,0,0
gosub*aaa
stop
*aaa

redraw 0
return


めちゃくちゃなソースですwwそれは分かってます。。

ですが、スクリーンを大きくしたいんです!!

何かいい手法ないですかね・・・T_T



この記事に返信する


リンク

2013/6/4(Tue) 22:27:38|NO.54569

こゆこと?

x=1:y=1 ; スクリーンサイズ変数
repeat ; 無限ループ
await ; ループ用
redraw 0 ; よく知らん
screen 0,x,y ; サイズ変更
x++:y++ ; ループするたび一ずつ増える
loop



リンク

2013/6/4(Tue) 22:29:08|NO.54570

あとcnt使いたいなら変数作ってa=cntにすれば?



流星群

リンク

2013/6/4(Tue) 22:29:12|NO.54571

screen 0,241,241,0,0,0
で、第6パラメータまで指定していますが、
はじめに、
screen 0,100,100,0,0,0,最大サイズx,最大サイズyを
いれると多分できます。
第7,8パラメータが初期化される大きさなので。
また、
この場合、width命令を使用するのが一般的となっています。
スクリプトエディタでwidthと入力し、F1を押してみてください。



リンク

2013/6/4(Tue) 22:30:37|NO.54572

流星群さん
すいません初心者で・・ 俺の言ってることって全然違いますかね?



ikemendesu

リンク

2013/6/4(Tue) 22:36:17|NO.54573

狐さん 

そうです


流星群さん

repeat : wait 10
screen 0,x,y,0,0,0,400,400
x=cnt
y=cnt
loop


今即席でこれ作ってみましたがやはりエラーが出てしまいました



流星群

リンク

2013/6/4(Tue) 22:36:21|NO.54574

>>狐さん
いや、合ってると思いますよー。
実は自分が書き込み入力してる間に
狐さんが書き込んでたみたいで……
なんかすいません><



流星群

リンク

2013/6/4(Tue) 22:39:41|NO.54575

>>54573
あ、えーと…
多分ループ前に最大サイズで初期化した方がよいかも

多分でもそれより
さきほど最後に書かせて頂いた
width命令を使うのがいいかもしれません。

他デバイスなのでソース書けなくて申し訳ないですが、

repeatとloopの間に
width cnt,cnt
みたいな感じにしてやれば
良いと思います。



ikemendesu

リンク

2013/6/4(Tue) 22:41:48|NO.54576

;ウィンドウを小さくしていく
#define WIN_W 640
#define WIN_H 480
screen 0,WIN_W,WIN_H,0
repeat 20
width WIN_W-(cnt*32),WIN_H-(cnt*24)
loop
stop


↑拾い物です。
これは小さくするサンプルソースです
ですが大きくはできません。
どうにかしてだんだんと大きくしたいです。。



ht.

リンク

2013/6/4(Tue) 22:42:42|NO.54577

初期化サイズの指定は第ニ引数,第三引数の方なので以下のようにすればいいと思います。

screen 0, ginfo_dispx, ginfo_dispy, , , , 640, 480



流星群

リンク

2013/6/4(Tue) 22:43:59|NO.54578

>>ht.さん

そうでしたっけ?
うわミスった><
完全第7,8だと思ってた。

ikem endesuさんもすいません!
ちょっと勘違いしてました



ikemendesu

リンク

2013/6/4(Tue) 22:45:53|NO.54579

流星群さん

#define WIN_W 10
#define WIN_H 10

repeat : wait 10
screen 0,WIN_W,WIN_H,0,0,0,400,400
width WIN_W+(cnt+2),WIN_H+(cnt+2)


loop

今即席でまた作りましたがバグっちゃいやす^^;;



それと

あ、えーと…
多分ループ前に最大サイズで初期化した方がよいかも

これがよくわからないです;



リンク

2013/6/4(Tue) 22:47:27|NO.54580

結構簡単な質問かと思ったらみんなよくわからんこと(自分が知らんだけ)になっとるw



ht.

リンク

2013/6/4(Tue) 22:47:51|NO.54582

こんな感じでしょうか。

wnd_cx = 64 wnd_cy = 48 screen 0, ginfo_dispx, ginfo_dispy, , , , wnd_cx, wnd_cy repeat wnd_cx += 2 wnd_cy += 2 wnd_x = ginfo_dispx / 2 - wnd_cx / 2 wnd_y = ginfo_dispy / 2 - wnd_cy / 2 if wnd_cx > ginfo_dispx | wnd_cy > ginfo_dispy : break width wnd_cx, wnd_cy, wnd_x, wnd_y wait 10 loop



リンク

2013/6/4(Tue) 22:48:41|NO.54583

狐さん
そうです

間違っとるん? あっとるん? よくわからん方



リンク

2013/6/4(Tue) 22:50:51|NO.54584

↑×2ソースなんかかわいかった 関係なくってすいません。



ikemendesu

リンク

2013/6/4(Tue) 22:52:46|NO.54586

ht.さん

うほ・・・難しい命令ばっかりだ。。
でもすごいです!
これでできるんですねー
僕レベルだとこのソースは理解に苦しみますww

ですがなんとなくですがわかりました!!

みなさん協力、アドバイスなどありがとうございます^^!



流星群

リンク

2013/6/4(Tue) 22:53:08|NO.54587

>>ikem endesuさん
screenは画面を初期化しますよね?
実際の画面サイズは初期化された分の一部をウィンドウとしています。
大きくしていくのはウィンドウである
第7,8パラメータであるので
始めにウィンドウとは別に初期化サイズを大きめに設けるのです。

最終的に最大になる(ループの最後の時の値)で初期化しておき、
それに応じてウィンドウサイズを大きくするってことです。

分かりにくい説明ですみません。



リンク

2013/6/4(Tue) 22:55:58|NO.54588

ikemendesu
同じくです。 同じようなことでも知ってる人から見たらわかりやすくても複雑すぎて分かり

ませんでした。



ikemendesu

リンク

2013/6/4(Tue) 23:01:10|NO.54590

流星群さん


ふむふむ。なるほどー。。複雑ですね。。。



狐さん

僕もまだ初心者なので皆さんが書くソースは何書いてるのか全然わからないレベルですw



追記

みなさん僕のためにいろいろ書いていただきありがとうございます^^

今後の技術に生かしていきます^^
ありがとうございます!



ikemendesu

リンク

2013/6/4(Tue) 23:06:59|NO.54591

流星群さんの作ったソース

消えてるのですが、もう一度貼って頂けませんか!?><

勉強に使いたいです><!



ikemendesu

リンク

2013/6/4(Tue) 23:28:32|NO.54593

あとすみません。

枠無しウィンドウにしたくて

bgscr 0,320,240:cls 1

これを追加したらなんかちらつきがすごいのですが

これは直せませんかね??



ikemendesu

リンク

2013/6/4(Tue) 23:47:37|NO.54594

wnd_cx = 64
wnd_cy = 48

screen 0, ginfo_dispx, ginfo_dispy, , , , wnd_cx, wnd_cy
repeat 61
wnd_cx += 2
wnd_cy += 2
width wnd_cx, wnd_cy, wnd_x, wnd_y



bgscr 0,wnd_cx,wnd_cy,0,wnd_x,wnd_y
color : boxf 1,1,198,198 : color 30,30,30 :
await 100
loop


stop

枠無しウィンドウはできましたが
やはりちらつきが直らないです><



あり

リンク

2013/6/5(Wed) 00:34:59|NO.54596

widthを使った後にbgscrを使ったらscreenでの
初期化設定が上書き(チラつく)されてしまいます。

screenとbgscrはウィンドウの初期化(ウィンドウの作成)
widthはウィンドウ表示サイズ・位置の変更(ウィンドウの見える範囲の変更)
と、覚えておいて下さい。

基本的に一つのウィンドウの初期化は一度だけで良いです。

screen 1 : title "プログラム終了用ウィンドウ" wnd_cx = 64 wnd_cy = 48 bgscr 0, ginfo_dispx, ginfo_dispy, , , , wnd_cx, wnd_cy repeat 61 wnd_cx += 2 wnd_cy += 2 width wnd_cx, wnd_cy, wnd_x, wnd_y color : boxf 1,1,198,198 : color 30,30,30 : await 50 loop stop



ikemendesu

リンク

2013/6/5(Wed) 01:28:49|NO.54597

ありさん

ふむふむ。
ありがとうございます^^
改善しました^^!

プログラミングの記述は難しいですががんばります!



ONION software Copyright 1997-2023(c) All rights reserved.