[7762] 初心者ですが… 投稿者:白影 投稿日:08/03/27(木) 00:32
こんばんは。白影(はくえい)と申します。
HSPをインストールしたばかりの初心者です。
突然ありきたりな質問で申し訳ないのですが、
HSPをつかって「三国無双」のようなゲームを
作ることは可能なのでしょうか?
ちなみにキャラクターやステージは自分達で作るつもりです。
お時間があれば教えていただけないでしょうか?
[7764] Re: 初心者ですが… 投稿者:Udonゲイン 投稿日:08/03/28(金) 08:32
はじめまして。
自分も初心者で弾幕STG製作中ですが……
DirectXのサポート(混同のDll使います)もあるようですので
作ること自体は可能だと思います。
現に3DのFPSゲームをHSPで製作されてる方もいますので。
しかし、三国無双のシステムを模すとなるとかなり苦労すると思います。
初心者とありますが、HSPではという意味でしょうか?
もし他の開発環境でゲーム製作(この場合、特に3Dアクションですね)の製作経験があるなら素材作ってルーチン組むだけだからすぐできるとは思いますが。
プログラミング自体が初なら、まずは簡単なアクションゲームを一本作ってからにすることをお勧めします。
いきなり目標高くすると完成できませんよ。
[7768] Re^2: 初心者ですが… 投稿者:白影 投稿日:08/03/30(日) 20:38
迅速な回答有難う御座います。
> しかし、三国無双のシステムを模すとなるとかなり苦労すると思います。
やはりそうですか…
> 初心者とありますが、HSPではという意味でしょうか?
恥ずかしながらプログラミング自体、初心者です。
> プログラミング自体が初なら、まずは簡単なアクションゲームを一本作ってからにすることをお勧めします。
そうしたいんですけど…
締め切りまでの時間がない上に、パソコンする時間も少ないんですよ…
(製作を依頼された方からかなりきつめに言われてまして…)
> いきなり目標高くすると完成できませんよ。
確かに、何事もそうですね。
参考になりました。
また近い内に質問するかもしれませんので、宜しくお願い致します。
[7765] (削除) 投稿者:(削除) 投稿日:08/03/28(金) 17:11
(削除されました)
[7766] Re: 画像ファイルの読み方 投稿者:Kpan 投稿日:08/03/28(金) 20:10 <URL>
付属マニュアルをチェックしてください。
プログラミングマニュアル1・基本仕様ガイド (hspprog.htm)
2.スクリプト記述の基本 → 文字列
[7760] USB&RS-232C 投稿者:legi 投稿日:08/03/23(日) 23:39
こんにちは。
HSPを使ってPCのUSBポートもしくはRS−232Cポートで他機器との通信を行ってみたいのですが可能でしょうか?
可能であればコマンドだけても良いので教えていただけないでしょうか?
[7758] 楽しんでいます 投稿者:masa 投稿日:08/03/20(木) 13:35
こんにちは^^;最近、HSP3.1に乗り換えました。
デモを見ましたが、速いし、スムースですね。インタープリタ自体の性能がいいんだなと感じました。大変嬉しいです^^;
今、特殊なゲームを製作中です。リアルにあるトランプゲーム、スピードをベースにして、PC遊びはこんなに楽しいんだと言うことを実感させるためのソフトです。主にPC初心者向け。
ゆっくりと作りたいと思います。
[7752] ケムリの再現 投稿者:バルス 投稿日:08/03/10(月) 01:00
3Dゲームで白煙を出したいのですが、なかなかうまくケムリを再現
できません(´`;
まず煙のデータはテクスチャ1枚絵で、白い多角形の画像を使用
それを何百枚も半透明で重ねて同時に動かせば煙に見えるかなと思
ったのですが、みな等速で移動してしまい煙のフワフワ感が出ません
・・
なにがマズいのでしょう??
そもそも煙の軌道って流体力学を学ばないと無理ですよね(^^;
[7755] Re: ケムリの再現 投稿者:root 投稿日:08/03/16(日) 23:08
> まず煙のデータはテクスチャ1枚絵で、白い多角形の画像を使用
> それを何百枚も半透明で重ねて同時に動かせば煙に見えるかなと思
> ったのですが、みな等速で移動してしまい煙のフワフワ感が出ません
それぞれの煙にランダムな加速度を持たせてみてはいかがでしょう?
ちょっと作ってみました。フワフワというより吹き出る感じになってしまいましたが... ;)
#const PARTICLE_MAX 64 // 煙の数
#const SEED_X 4 // x方向の乱数
#const SEED_Y 8 // y方向の乱数
#const SEED_LIFE 32 // 寿命の乱数
#const BASE_X 144 // 発生位置x
#const BASE_Y 192 // 発生位置y
buffer 2, 32, 32
color $ff, $ff, $ff : boxf 0, 0, 32, 32
screen 0, 320, 320
randomize
dim smoke_vx, PARTICLE_MAX // 加速度x
dim smoke_vy, PARTICLE_MAX // 加速度y
dim smoke_x, PARTICLE_MAX // 座標x
dim smoke_y, PARTICLE_MAX // 座標y
dim smoke_life, PARTICLE_MAX // 寿命
*main
redraw 0
color : boxf
repeat PARTICLE_MAX
if smoke_life(cnt) < 0 {
smoke_vx(cnt) = rnd(SEED_X) - SEED_X / 2
smoke_vy(cnt) = rnd(SEED_Y)
smoke_x(cnt) = BASE_X
smoke_y(cnt) = BASE_Y
smoke_life(cnt) = 255 - rnd(SEED_LIFE)
}
smoke_x(cnt) += smoke_vx(cnt)
smoke_y(cnt) -= smoke_vy(cnt)
smoke_life(cnt) -= rnd(SEED_LIFE)
gmode 4, 32, 32, smoke_life(cnt)
pos smoke_x(cnt), smoke_y(cnt)
gcopy 2, 0, 0
loop
redraw 1
await 1
goto *main
[7757] Re^2: ケムリの再現 投稿者:バルス 投稿日:08/03/18(火) 12:38
3Dでの話ですスミマセン。。。
私はhgimg3をインクルードして、
#include "hgimg3.as"
screen 0,640,480,0
hgini
addplate m,1,0.8,0.8
repeat 500
regobj obj,m
setefx obj,515
i=0.001*rnd(1900)
g=0.002*rnd(31415)
x=i*cos(g)
y=i*sin(g)
setang obj,0.02*rnd(31415),0.02*rnd(31415),0.02*rnd(31415)
setpos obj,x,2.0-0.01*rnd(380),y+20
setscale obj,0.01*rnd(70)+1.1,0.01*rnd(70)+1.1,0.01*rnd(70)+1.1
loop
*main
repeat 500
addang cnt+2,0.00001*rnd(31415),0.00001*rnd(31415),0.00001*rnd(31415)
loop
hgdraw
hgsync 20
goto*main
こうしました
これ以上HSPで煙ぽさがでますかね・・
さすがに言語的にも限界でしょうか?
[7748] 製作したものを 投稿者:sai 投稿日:08/03/09(日) 15:50
同人などで販売するなどの目的で使用するのは可能なんでしょうか?↓と同じような質問になってしまいますが・・
よろしければお返事お願いします
[7749] Re: 製作したものを 投稿者:Kpan 投稿日:08/03/09(日) 16:55 <URL>
付属のドキュメントの方をチェックしてください。
> HSPシステムドキュメント・インストールガイド (hsp3.htm)
[7750] Re^2: 製作したものを 投稿者:sai 投稿日:08/03/09(日) 17:53
確認させて頂きました
ありがとうございます
もうひとつ質問なんですが
以前のバージョンで作っていたものをできるか実行したら
「-->関数を命令と記述しています。
(HSP2から関数化された名前を使用している可能性があります)」
と出ました、どこが悪いのかご指摘いただけたらと思います
エラーのあったlineの行は以下のものでした
if t_hp.cnt=0 : t_hp.cnt=3 : rnd tx.cnt,stage1_1 : rnd houkou.cnt,2
[7751] Re^3: 製作したものを 投稿者:Kpan 投稿日:08/03/09(日) 19:48 <URL>
エラーどおりです。(rnd関数)
付属サンプルとかチェックしてください。
> sample\basic\line.hsp
> sample\basic\stars.hsp
[7745] 無料?有料 投稿者:GSAS 投稿日:08/03/06(木) 20:36
HSP3って有料なんですか?無料なんですか?教えてください。
[7746] Re: 無料?有料 投稿者:Kpan 投稿日:08/03/06(木) 22:00 <URL>
フリーウェアです。
http://hsp.tv/idman/download.html
もし仮に有料だとしたら、公式サイトにそのことをちゃんと
書いとかないとダメでしょう。(^^;
[7741] csvfind を特定文書に用いると起こるエラーについて 投稿者:A.K 投稿日:08/03/03(月) 15:45
こんにちは。
現在、青空文庫に所蔵されている
吾輩は猫である
から特定文字列を連続取得しようとしているのですが、csvfindを実行いたしますとエラー1となります。
どなたか解決法をご存知の方、対策を教えていただけましたら幸いです。
下記に検証用コードを記します。例外処理等は含めていません。ご了承ください。
/*ここから*/
#include "hspinet.as"
#include "hspda.as"
netinit
neturl "http://www.aozora.gr.jp/cards/000148/files/"
netdlname "neko.tmp"
netload "789_14547.html"
sdim temp,10000000
notesel temp:noteload "neko.tmp"
csvsel temp:csvres kekka
csvfind "タカジヤスターゼ";ここでエラー1となる
notesel kekka:notesave "kekka.txt"
end
[7742] Re: csvfind を特定文書に用いると起こるエラーについて 投稿者:ANTARES 投稿日:08/03/04(火) 00:41 <URL>
hspdaはバグが多いので使わない方がいいです。
このくらい、notegetとinstrで簡単に書けるでしょう。
[7743] Re^2: csvfind を特定文書に用いると起こるエラーについて 投稿者:A.K 投稿日:08/03/04(火) 03:01
> ANTARES様
ご返信ありがとうございます。
やはりhspdaのバグだったのですね。原因が分かり安心しました。
そしてアドバイスありがとうございます。作り替えましたところ、無事目的の動作を行うことが出来ました。
この度はご指導くださり、本当にありがとうございました。では、失礼いたします。
[7736] objprm後にフォーカスされない? 投稿者:takaI 投稿日:08/02/26(火) 19:29
hsp2.6で作ったプログラムをHSP3に移行したんですが、
inputの入力ボックスをobjprm後に内容は変更されているのに
フォーカスされてないのです
(カーソルが直前のまま移動してません)
HSP3独特のものでしょうか?教えてください。
ソースの部分は
input kensakuW1,250,30
kensakuObj=stat
;;実際には他の命令が沢山この間にあります
objprm kensakuObj,"■"
[7738] Re: objprm後にフォーカスされない? 投稿者:osakana 投稿日:08/02/27(水) 03:26
> hsp2.6で作ったプログラムをHSP3に移行したんですが、
> inputの入力ボックスをobjprm後に内容は変更されているのに
> フォーカスされてないのです
> HSP3独特のものでしょうか?教えてください。
今確認して見ましたが、たしかに その様です。
objsel でフォーカスを任意に合わせてね!って事みたいです。
;---- 確認に使ったスクリプト ----
input kensakuW1,250,30
kensakuObj=stat
button "",*@f
stop
*@
objprm kensakuObj,"■"
objsel kensakuObj ; ←HSP2.61 ではなくても動作は同じ。
[7739] Re^2: objprm後にフォーカスされない? 投稿者:takaI 投稿日:08/02/27(水) 11:30
確認、ありがとうございます。
私の勘違いではなかったようですね
とりあえず objsel 使えば対応できるので問題ありませんが
最近ソースさわってなかったので、ドッキリしました。
[7740] Re^3: objprm後にフォーカスされない? 投稿者:woodfields 投稿日:08/02/28(木) 17:59
mesboxだとobjprmしても変数が更新されないとかも
[7731] HSP3でボタンの色が? 投稿者:takaI 投稿日:08/02/25(月) 15:12
hsp2.6で作ったプログラムをHSP3に移行したんですが、
ボタン命令のボタンの色がクリーム色から白になっているので
見た目の違和感があるんですが、
(1)簡単に元色に変更できませんか?
Win32 API関数を使用したり、イメージボタン(画像ボタン)を表示するのでしょうか?
ご指導お願いします
[7733] Re: HSP3でボタンの色が? 投稿者:Kpan 投稿日:08/02/25(月) 20:40 <URL>
ビジュアルスタイルのことですかね?
OSはXPだとすると、
・uxtheme.dllのSetWindowTheme関数でオブジェクトのビジュアルスタイル無効
・実行ファイルのプロパティ→互換性タブの視覚テーマ無効 (個々のPC)
・実行ファイルのリソースからmanifestデータ削除
ボタンとはぜんぜん関係ないものですが、ビジュアルスタイル関連話題
http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200510/05100004.txt
[7734] Re^2: HSP3でボタンの色が? 投稿者:takaI 投稿日:08/02/26(火) 11:13
参考になりました。ありがとうございます
> ビジュアルスタイルのことですかね?
OSはXPです。
> ・uxtheme.dllのSetWindowTheme関数でオブジェクトのビジュアルスタイル無効
まだ、テストしてませんがやってみます
> ・実行ファイルのプロパティ→互換性タブの視覚テーマ無効 (個々のPC)
これでボタン色は戻りました、一応解決ですが、全体に視覚効果が無効になるのでウインド右上の −□× が貧弱(笑)
HSP3から 視覚効果が有効になってたんですね。
[7725] 分かりません 投稿者:odenkun 投稿日:08/02/24(日) 19:16
みなさん始めまして。
さっそくですが始めにpicload "HSP3TTL.JPG"を入力するところがありますよね!入力してコンバイル+実行をおしても画像が表示されませんになってしまいます。たぶんダウンロードができてないファイルがあると思うんですがどのファイルをダウンロードすればいいのでしょうか?教えてください。あと今ダウンロードしているのは
サンプルデモ TVプラウザ スクリプトエディタです
お願いします。
[7726] Re: 分かりません 投稿者:Kpan 投稿日:08/02/24(日) 19:53 <URL>
そのファイルはdocsフォルダ内です。
エディタの設定で、[ディレクトリ]→[起動時のカレントディレクトリ]で「指定なし」
にしておけば下のようなスクリ。
picload "docs\\HSP3TTL.JPG"
[7728] ありがとうございます 投稿者:odenkun 投稿日:08/02/24(日) 23:16
やってみます!!
本当にありがとうございます
初心者なもんで
[7723] オブジェクトについて 投稿者:うどん 投稿日:08/02/24(日) 16:21
質問です。(input)などのオブジェクトがありますが、
まずいくつかオブジェクトを配置し、
別のループ内クリックでオブジェクトを選択し使用する場合、
その使用中のオブジェクトの認識は変数で読み出せないでしょうか。
inputの中の文字を変換する場合、他のキーをを押さなければ
文字の変換が出来ないわけですが、その時に
リターンキーや矢印キーを文字の変換の為に押すと
先のループ内クリックの別の命令が発動してしまうのです。
オブジェクト使用中は、キー制御を文字変換のみに使いたいので
オブジェクト使用中の何か変数でもあれば教えていただきたいのです。
[7727] Re: オブジェクトについて 投稿者:ANTARES 投稿日:08/02/24(日) 21:55 <URL>
>リターンキーや矢印キーを文字の変換の為に押すと
>先のループ内クリックの別の命令が発動してしまうのです。
onkeyを使いましょう。
[7714] hgimg3のtexload2 投稿者:kenken 投稿日:08/02/22(金) 23:15
setuv 0,0,800,600
addspr sprid.0,1
regobj objid.0,sprid.0
texload2 "image\\skin1.png"
setpos objid.0,0,0,0
と書いて、800x600px透明色ありのPNGファイルを読み込むとサイズが何倍にも大きい画像の一部だけが画面に表示されてしまいます。PNGファイルをTGAファイルに変換して「texload2 "image\\skin1.tga"」とすると今度は別のサイズで、大きな画像の一部だけが画面に表示されてしまいます。
ちなみに、この画像ファイルをBMPに変換して「texload2」を使うとPNGのときと同じ画面になったのですが、「texload "image\\skin1.bmp"」としたら正常に表示されました。
これはバグでしょうか?それとも何か足らない命令などがあるのでしょうか?どなたか教えていただけませんか?
(hgimg3はVer3.1FIX1です)
[7715] Re: hgimg3のtexload2 投稿者:A.C 投稿日:08/02/22(金) 23:46
こんにちは、A.Cです。
以前sinと名乗っていましたが
いつの間にか同名の人がいるみたいなので
A.Cと以下略(そんなことはどうでも良いですね^^;
環境にもよるかもしれませんが、こちらでも同様の現象が起きます。
texload2命令で画像サイズを指定しておけば
ちゃんと表示できるようです。
texload2 "image\\skin1.png",800,600
[7717] Re^2: hgimg3のtexload2 投稿者:kenken 投稿日:08/02/23(土) 08:20
お返事ありがとうございます。早速texload2 "〜.png",size_x,size_y試してみたところPNGファイルが元のサイズで表示させることができました!ありがとうございますm(_ _)m
ただ、表示される画像が少しぼけてしまうのですが、これは仕様なのでしょうか?画像をきれいに表示させる方法もご存知でしたら、これもまた教えていただけないでしょうか?
ちなみに、BMPファイルをtexloadで読み込むときれいに表示されますがtexload2 "〜.bmp",size_x,size_yで読み込むとPNGと同様、ぼけてしまいます^^;
[7718] Re^3: hgimg3のtexload2 投稿者:A.C 投稿日:08/02/23(土) 12:53
こんにちは、A.Cです。
申し訳ないですが適度に改行お願いします。
こちらは画面解像度が1024x768なので横にはみ出てしまって…^^;
本題ですが、
2D画像のテクスチャ補間モードを設定すると良いようです。
hgini 命令の前に以下の文を追加してください
hgsetreq SYSREQ_2DFILTER,2
こうすることで拡大コピーや回転コピーをした際にも
ギザギザになる現象を抑えることができます。
ただ、処理速度がわずかながら遅くなってしまうので
弾幕シューティングなど処理落ちが発生しやすいゲームには
テクスチャ補間モードの設定をするオプションを
付けた方が良いと思います。
hgsetreq 命令は他にも様々な設定をすることが出来ますので
一度目を通してみることをおすすめします。
[7719] Re^4: hgimg3のtexload2 投稿者:kenken 投稿日:08/02/23(土) 13:18
なるほど、たしかにきれいに映るようになりました!
何度もありがとうございましたm(_ _)m
hgimg3は始めて使うのでわからないことばかりです^^;
[7722] Re^5: hgimg3のtexload2 投稿者:kan 投稿日:08/02/24(日) 15:28
いきなりスイマセン!
ここのスレみて疑問に思ったので質問してみたんですが、
SYSREQ_3DFILTERで何かの補正ができるそうじゃないですか?
それってリアルモデリング時に発生するジャギーをアンチエイリアシングの機能で、うまくぼかしてくれるってことですか?
でもやっぱそんな都合のいい命令ないですかね?
[7710] 無題 投稿者:kan 投稿日:08/02/22(金) 20:33
HSPでビープ音を鳴らすにはどうしたらいいでしょうか?
[7712] Re: 無題 投稿者:Kpan 投稿日:08/02/22(金) 20:55 <URL>
自前でwav音を用意するとか、
Win32APIだとBeep関数とかMessageBeep関数ですかね?
http://yokohama.cool.ne.jp/chokuto/advanced/call-api.html
http://msdn.microsoft.com/library/ja/jpdebug/html/_win32_beep.asp
[7713] Re^2: 無題 投稿者:kan 投稿日:08/02/22(金) 22:55
wavではなくパソコンのスピーカーから直接ビープをならしたいです。
警告音ではなく、周波数やタイムを決めて鳴らすやつがやりたいです。
・・・Win32APIって難しくて分からないのですが、どうすれば?
正直Win32APIを理解する気が起きないので、ビープ音が鳴るプログラムだけでも貼ってもらえれば幸いです。
[7716] ビープ音(Re^3: 無題) 投稿者:ANTARES 投稿日:08/02/23(土) 00:02 <URL>
>警告音ではなく、周波数やタイムを決めて鳴らすやつがやりたいです。
#include "kernel32.as"
button "beep",*l_beep
stop
*l_beep
beep 2000,125
stop
[7721] Re: ビープ音(Re^3: 無題) 投稿者:kan 投稿日:08/02/24(日) 00:58
返信遅れてスイマセン
ありがとうございます!!
できました!
[7699] 無題 投稿者:ono 投稿日:08/02/19(火) 15:55
#HSP script preprocessor ver3.1 / onion software 1997-2007(c)
#HSP code generator ver3.1 / onion software 1997-2007(c)
game.hsp(62) : error 4 : パラメーター式の記述が無効です (62行目)
--> if@hsp (c>'O')and(c<'A') :mylive=0
上の文の意味と対処法が分かりません。
教えてください。
[7702] Re: 無題 投稿者:Kpan 投稿日:08/02/19(火) 20:18 <URL>
エディタの[HSP]→[拡張マクロを使用する]のチェックを外してませんか?
「and」はヘルプにあるようにマクロ定義されてるものですー。
and → &
[7706] Re^2: 無題 投稿者:ono 投稿日:08/02/19(火) 23:46
そもそもヘルプが見れない。
チェックを入れたら大丈夫なのでしょうか?
[7708] ヘルプが見れない(Re^3: 無題 投稿者:GENKI 投稿日:08/02/21(木) 01:58
> そもそもヘルプが見れない。
正常にインストールされていれば、次の方法で開くことが出来るはずです。
「スタート」→「プログラム」→「Hot Soup Processor 3.1」→「マニュアルインデックス」でマニュアルが開きます。
HSPスクリプトエディタのメニューバーから「ヘルプ」→「HSPマニュアル目次」と選択してもマニュアルが開きます。
ヘルプブラウザを開く場合は、HSPスクリプトエディタ上でF1キーを押す。
これで開けない場合は、ヘルプファイルを消してしまったあるいは移動したか、もしくはインストールがうまくいっていません。
HSPをいったん削除して、再インストールしてみてください。
[7703] 起動画面 投稿者:えんりか 投稿日:08/02/19(火) 22:09
皆さんは、今までのHSPコンテストの作品の中でOPロゴが一番か
っこよかったのってどれですか?
ちょっと参考にしたいので
[7704] Re: 起動画面 投稿者:コンテスト出品者 投稿日:08/02/19(火) 22:28
> 皆さんは、今までのHSPコンテストの作品の中でOPロゴが一番か
> っこよかったのってどれですか?
> ちょっと参考にしたいので
「かっこいい」と思える基準は人それぞれです。
コンテスト作品はダウンロードして見られるのですから、
自分の目で見てみるのが一番です。
この段階で労力を惜しまない方がいいですよ。
他の作品を見るのは刺激になるし、勉強にもなります。
[7705] Re^2: 起動画面 投稿者:えんりか 投稿日:08/02/19(火) 23:25
なるほど。それもそうですね。
「若いときの苦労は買うてもせよ」じゃないですけど・・みてみます
[7661] TTCタイプのフォント名の取得 投稿者:めざるーな 投稿日:08/01/09(水) 06:49
以前に未インストールのTTR,OTFフォントのフォント名を取得する方
法を教えていただきました。今回は未インストールのTTCタイプの
フォント名をHSP3.0上で取得する方法を教えていただけないでしょう
か?OSはWindowsXPです。
[7698] Re: TTCタイプのフォント名の取得 投稿者:root 投稿日:08/02/19(火) 01:02
> 今回は未インストールのTTCタイプの
> フォント名をHSP3.0上で取得する方法を教えていただけないでしょう
> か?OSはWindowsXPです。
TTCはOpenTypeフォントのコレクションなだけで、そんなに大差はありませんよ :)
ファイル先頭のTTCヘッダで各フォントへのオフセットを取得できれば、
あとはTTF, OTFと同じです。以下のURLが参考になるかと思います。
http://vanilla-room.cocolog-nifty.com/blog/2008/02/opentype1ttc_0d3d.html
http://www.microsoft.com/typography/SpecificationsOverview.mspx
[7701] Re^2: TTCタイプのフォント名の取得 投稿者:めざるーな 投稿日:08/02/19(火) 20:09
root様
難しそうですが、研究してみます。
ありがとうございました。
[7671] VisualStyle を適用時のGUI 投稿者:太陽神 投稿日:08/01/29(火) 16:30
WindowsXP (Vistaではどうなるか知りませんが)のVisualStyle を
HSPで作ったアプリケーションに適用すると、ボタンなどの枠が
透過処理されず、必ず黄土色の背景の上にボタンがのっかる形になって
しまいます。
仕様と思ってあきらめるしかないでしょうか。
[7672] Re: VisualStyle を適用時のGUI 投稿者:Kpan 投稿日:08/01/29(火) 20:29 <URL>
>HSPで作ったアプリケーションに適用すると、ボタンなどの枠が
>透過処理されず
何かのソフトで「適用した」んですかね?
そもそもHSP3製実行ファイルはデフォルトでビジュアルスタイルに対応してます。
XP環境でビジュアルスタイルが有効になっていれば、何もしなくてもビジュアル
スタイル表示ですよ。
>黄土色の背景の上にボタンがのっかる形
HSPのウィンドウは真っ白背景です。
Windows自体の設定(画面のプロパティ→デザイン)が変更されてるとか???
[7673] Re^2: VisualStyle を適用時のGUI 投稿者:太陽神 投稿日:08/02/01(金) 20:34
すみません、質問の仕方がよくありませんでした。
私が問題としているのは、たとえばウィンドウに写真を表示し、
その写真の上にボタンなどのGUIパーツを置くと、GUIパーツの
周りに黄土色の背景色が出てしまう、ということです。
つまり、VisualStyleのグラフィックが持っているアルファチャンネル
(透明度)が失われてしまうようです。
[7697] Re^3: VisualStyle を適用時のGUI 投稿者:root 投稿日:08/02/19(火) 00:57
> 私が問題としているのは、たとえばウィンドウに写真を表示し、
> その写真の上にボタンなどのGUIパーツを置くと、GUIパーツの
> 周りに黄土色の背景色が出てしまう、ということです。
Windows標準のコントロールは矩形で描画されてしまうので、難しいかと...
やるとしたら、ThemeAPIと画像処理とオーナードローで頑張ってみるくらいしか私には思いつきません。
[7691] flashの画面をウィンドウID2にキャプチャ表示 投稿者:mine 投稿日:08/02/17(日) 08:03
みなさんこんにちは。
もしよければ、教えていただきたいのですが、
axtiveXであるflashの表示されている内容をBMPにする目的で
ウィンドウID2にコピーしてみようとOleDrawAPIでやってみて
いるのですが、うまくいきません。(OleDrawの呼び出しに失敗)
きっとどこか勘違いしているのだと思いますが。
うまくいけば、直接BMPのバッファに書き込んでみたいとも
思っているのですが…。
;flashの画面をウィンドウID2にキャプチャ表示
#uselib "GDI32.DLL"
#func global OleDraw "OleDraw" sptr,sptr,sptr,sptr
swf_x=320:swf_y=240
screen 0, swf_x,swf_y
filename="sample.swf"
filename=""+dirinfo(0)+"\\"+filename ;フルパスにする
axobj flash, "ShockwaveFlash.ShockwaveFlash.1", swf_x, swf_y
flash_id=stat
flash -> "LoadMovie" 0, filename
flash -> "Play"
wait 100 ;1秒後のflashの画面でStop
flash -> "StopPlay"
;delcom flash
pUnk=objinfo(flash_id,2)
screen 2, swf_x,swf_y
mref bmscr, 67 ; ウィンドウID2のBMSCR構造体を取得
hdcDraw=bmscr.4 ; ウィンドウID2のHDC
rect=0,0,320,240 ;RECT構造体
p_RECT=varptr(rect)
DVASPECT_CONTENT=1
OleDraw pUnk,DVASPECT_CONTENT,hdcDraw,p_RECT
stop
[7694] Re: flashの画面をウィンドウID2にキャプチャ表示 投稿者:root 投稿日:08/02/17(日) 19:12
> axtiveXであるflashの表示されている内容をBMPにする目的で
> ウィンドウID2にコピーしてみようとOleDrawAPIでやってみて
> いるのですが、うまくいきません。(OleDrawの呼び出しに失敗)
えーとまず、OleDraw関数はole32.dllの関数です ;)
それとOleDrawの第1引数に、objinfoから得たウィンドウのハンドルを渡していますが、
IViewObjectを実装したインターフェイスへのポインタを渡してください。
以上を踏まえて頑張ってみると以下のような感じになります:
#uselib "ole32"
#func OleDraw "OleDraw" int,int,int,int
#uselib "atl"
#func AtlAxWinInit "AtlAxWinInit"
#func AtlAxGetControl "AtlAxGetControl" int,int
file = dirinfo(0) +"\\sample.swf"
w = 320
h = 240
screen 0, w, h
AtlAxWinInit
axobj fla, "ShockwaveFlash.ShockwaveFlash", ginfo(12), ginfo(13)
AtlAxGetControl objinfo(stat, 2), varptr(punk)
fla->"LoadMovie" 0, file
fla->"Play"
wait 100
fla->"StopPlay"
screen 2, w, h
rc = 0, 0, ginfo(12), ginfo(13)
OleDraw punk, 1, hdc, varptr(rc)
redraw
[7695] Re^2: flashの画面をウィンドウID2にキャプチャ表示 投稿者:mine 投稿日:08/02/18(月) 13:26
rootさん。どうも、ありがとうございます。
>えーとまず、OleDraw関数はole32.dllの関数です ;)
凡ミスでした。ole32.asから#func をコピーしたのに…(^^;
>それとOleDrawの第1引数に、objinfoから得たウィンドウのハンドルを渡していますが、
>IViewObjectを実装したインターフェイスへのポインタを渡してください。
OleDrawでググってもIEのブラウザ表示が画像で取得できるとか
出てくるだけで(それもおもしろそうですが...)
pUnknownがまさに分からない状態でした。
ググってもOleDraw→Atlにつながりませんでした。
HSP help BrowserでもAtlAxWinInit,AtlAxGet...が使われているので
axobjを使うときは、これらのAPIでつかんでコントロールするというのは、
定石なのでしょうね。勉強になりました。
[7696] Re^3: flashの画面をウィンドウID2にキャプチャ表示 投稿者:root 投稿日:08/02/19(火) 00:47
> >えーとまず、OleDraw関数はole32.dllの関数です ;)
> 凡ミスでした。ole32.asから#func をコピーしたのに…(^^;
ああ、やはりそうでしたか。つまらない指摘すみませんでした。
> HSP help BrowserでもAtlAxWinInit,AtlAxGet...が使われているので
> axobjを使うときは、これらのAPIでつかんでコントロールするという
のは、
> 定石なのでしょうね。勉強になりました。
今回の場合はATLを使ったほうが楽なのでそうしただけで、IUnknownを渡せ
られるのならどんな方法でもokです :D
[7688] (削除) 投稿者:(削除) 投稿日:08/02/15(金) 19:19
(削除されました)
[7689] Re: ありがとうございました 投稿者:ken 投稿日:08/02/15(金) 19:21
> GENKI さんへ。
> たいへん詳しくかつ丁寧に説明していただき感謝しています。
[7690] Re^2: ありがとうございました 投稿者:GENKI 投稿日:08/02/16(土) 00:33
> > GENKI さんへ。
> > たいへん詳しくかつ丁寧に説明していただき感謝しています。
と、このようにレスをつけてしまうと親記事を消しても消した跡が残ります。
ちなみに行頭に「>」記号をつけると引用扱いされて色が変わってしまいます。
ここからは個人的意見なのですが、引用文は無意識に読み飛ばしてしまいますので、
出来れば通常の文章と引用文は使い分けて欲しいなと思います。
さらに言うと返信は該当するスレッドにしていただけると助かります。
…無理にとは言いません。気が向いたらお願いします。
[7692] Re^3: ありがとうございました 投稿者:ken 投稿日:08/02/17(日) 09:44
> > > GENKI さんへ。
> > > たいへん詳しくかつ丁寧に説明していただき感謝しています。
>
> と、このようにレスをつけてしまうと親記事を消しても消した跡が残ります。
>
> ちなみに行頭に「>」記号をつけると引用扱いされて色が変わってしまいます。
> ここからは個人的意見なのですが、引用文は無意識に読み飛ばしてしまいますので、
> 出来れば通常の文章と引用文は使い分けて欲しいなと思います。
>
> さらに言うと返信は該当するスレッドにしていただけると助かります。
>
>
> …無理にとは言いません。気が向いたらお願いします。
今後気をつけたいと思います。色々と丁寧にアドバイスいただき感謝しています。(^_^)
[7683] スロットマシンの作成 投稿者:ken 投稿日:08/02/13(水) 20:41
VC#でスロットマシンを作ってみようとサンプルコードをみたのですがさっぱりわかりませんでした。
HSPでもスロットマシンは作れるのでしょうか?
[7684] Re: スロットマシンの作成 投稿者:GENKI 投稿日:08/02/14(木) 19:28
> VC#でスロットマシンを作ってみようとサンプルコードをみたのですがさっぱりわかりませんでした。
> HSPでもスロットマシンは作れるのでしょうか?
はい。作れます。VC#よりも比較的簡単に形にできると思います。
とは言えもちろん、今日HSPをはじめて明日には完成というわけにはいきません。
どの言語でも同じですが、それなりの学習と練習が必要です。
[7685] Re^2: スロットマシンの作成 投稿者:ken 投稿日:08/02/14(木) 19:54
> > VC#でスロットマシンを作ってみようとサンプルコードをみたのですがさっぱりわかりませんでした。
> > HSPでもスロットマシンは作れるのでしょうか?
>
> はい。作れます。VC#よりも比較的簡単に形にできると思います。
> とは言えもちろん、今日HSPをはじめて明日には完成というわけにはいきません。
> どの言語でも同じですが、それなりの学習と練習が必要です。
ありがとうございます。
それと申しわけありませんがもう一つお尋ねしてもよろしいでしょうか?
HSPはゲーム造りには最適な言語とお聞きしていますが、とある本で
GUIの部分が弱いと書かれていたのですが、これはどのよう名ことなのでしょうか?
[7686] Re^3: スロットマシンの作成 投稿者:ken 投稿日:08/02/14(木) 19:56
> > > VC#でスロットマシンを作ってみようとサンプルコードをみたのですがさっぱりわかりませんでした。
> > > HSPでもスロットマシンは作れるのでしょうか?
> >
> > はい。作れます。VC#よりも比較的簡単に形にできると思います。
> > とは言えもちろん、今日HSPをはじめて明日には完成というわけにはいきません。
> > どの言語でも同じですが、それなりの学習と練習が必要です。
> ありがとうございます。
> それと申しわけありませんがもう一つお尋ねしてもよろしいでしょうか?
> HSPはゲーム造りには最適な言語とお聞きしていますが、とある本で
> GUIの部分が弱いと書かれていたのですが、これはどのようなことなのでしょうか?(下記のレスは誤記がありました。失礼しました)
[7687] Re^4: スロットマシンの作成 投稿者:GENKI 投稿日:08/02/15(金) 01:13
> HSPはゲーム造りには最適な言語とお聞きしていますが、とある本で
> GUIの部分が弱いと書かれていたのですが、これはどのようなことなのでしょうか?
VisualBasicやVisualC#ではボタンなどのGUIのオブジェクト配置は、
マウス操作でイラストを書くように作成できますが、HSPでは標準で
はその機能を持っていません。
スクリプトで直接記述していくことになります。(といっても数行程度。)
このあたりがGUIに弱いと書かれた理由ではないでしょうか?
かといってツールが作りにくいかというとそうでもなく、たくさんのツール系作品をみることが出来ます。
ちなみに、私がHSPをはじめたばかりのころ作っていたのはゲームではなくGUIを使ったツールばかりでした。
kenさんはHSPで何が出来るか把握できていないようですので、まずは何が出来るのか知るといいと思います。
HSPで何が出来るのか知るには過去のコンテスト応募作品を見るのが手っ取り早いと思います。
経験年数も分かるので、難易度の参考になると思います。
http://hsp.tv/contest2007/index.html
http://quasiquote.org/hspwiki/HSP%e3%82%b3%e3%83%b3%e3%83%86%e3%82%b9%e3%83%88
ベクターで検索してもHSP作品を見つけることが出来ると思います。
なお、Visual〜のようなマウス操作でのGUI配置の作業が出来る支援ソフトも存在しています。(HSP3ではあったかな?)
> HSPはゲーム造りには最適な言語とお聞きしていますが、
ジャンルによってはツクール系や吉里吉里の作りやすさにはかなわないでしょうね。
HSPはゲームに限らずちょっとしたソフトの作成に最適な言語だと思います。
> (下記のレスは誤記がありました。失礼しました)
削除キーを設定しておけば、記事の削除が出来ますよ。
[ツリー表示]にするか、「返信」ボタンを押すと、表示されるページの下のほうに
> 以下のフォームから自分の投稿した記事を削除できます
とあるのでここで記事削除が出来ます。
[7678] 画像の上に弾を描画する。 投稿者:まる 投稿日:08/02/06(水) 22:53
gcopyで出した背景に連続して弾を出したいんですがうまくいきません。
弾を連続して打つのにTAMA1をループさせているのですが、それでは
他の命令(ATARI)は動いてくれません、どうすればよいでしょうか?
お願いします。
【例】
*HAJIME
buffer 1
picload "背景"
buffer 2
picload "自機"
*DRAWLOOP
redraw 0
pos 0,0 :gcopy 1,0,0,800,600 ;背景を設置
repeat TEKIKAZU
gosub *TAMA
loop
repeat TEKIKAZU
gosub *ATARI
loop
pos MX,MY
gcopy 2,0,0,100,60 ;自機を表示
goto *DRAWLOOP
*TAMA
TAMAKAZU = 64 ;最大弾数
TAMASPEED = 5 ;弾スピード
dim TEKIDAN,TAMAKAZU ;弾の存在を判定するフラグ
ddim TEKIDAN_X,TAMAKAZU ;弾X座標格納用
ddim TEKIDAN_y,TAMAKAZU ;弾Y座標格納用
ddim TEKIDAN_R,TAMAKAZU ;弾角度
BOX_TIM = 3 ;敵四角形弾発射タイミング
BOX_X = 320.0 :BOX_Y = 16.0
I = 0 ;汎用カウント用変数
*TAMA1
redraw 0 ;更新停止
color 0,0,255
boxf BOX_X - 8,BOX_Y - 8,BOX_X + 8,BOX_Y + 8
repeat TAMAKAZU
if TEKIDAN(cnt) = 1{ ;弾が存在しているか判定
color 100,100,100 ;弾の位置に円を描画
circle TEKIDAN_X(cnt)-8,TEKIDAN_Y(cnt)-8,TEKIDAN_X(cnt)+8,TEKIDAN(cnt)+8,1
}
loop
if I <= BOX_TIM {
I = I + 1
}else{
repeat TAMAKAZU ;敵弾発射
if TEKIDAN(cnt) = 0{
TEKIDAN(cnt) = 1 ;有効にする
TEKIDAN_X(cnt) = BOX_X ;敵四角形の位置を代入
TEKIDAN_Y(cnt) = BOX_Y
TEKIDAN_R(cnt) = atan((MX - BOX_X),(MY - BOX_Y))
;角度を代入
break ;強制的にループ脱出
}
loop
I = 0 ;カウントを戻す
}
;敵弾移動処理
repeat TAMAKAZU
if TEKIDAN(cnt) = 1{
TEKIDAN_X(cnt) = TEKIDAN_X(cnt) + (sin(TEKIDAN_R(cnt)) * TAMASPEED)
TEKIDAN_Y(cnt) = TEKIDAN_Y(cnt) + (cos(TEKIDAN_R(cnt)) * TAMASPEED)
;画面外にでたら消滅
if TEKIDAN_X(cnt) <= -8 | TEKIDAN_X(cnt) >=800 | TEKIDAN_Y(cnt) <= -8 | TEKIDAN_Y(cnt) >=600{
TEKIDAN(cnt) = 0
}
}
loop
redraw 1 ;画面更新
await 15 ;ウェイト
goto *TAMA1
[7679] Re: 画像の上に弾を描画する。 投稿者:naznyark 投稿日:08/02/07(木) 03:05
質問と一緒にソースコードを載せる場合は、
『そのソースコードに何も手を加えることなくエディタにコピー&ペーストするだけで誰もが実行できて、
さらに実行することで質問者が問題としている状況がはっきり確認できるもの』
でないと役に立つ回答は得られにくいです。
(具体的な問題点がわからなければ正確な回答はできません。)
それと書き込みの題名は本文の内容を要約したものにします。
> 弾を連続して打つのにTAMA1をループさせているのですが、それでは
> 他の命令(ATARI)は動いてくれません、どうすればよいでしょうか
基本的なプログラムの流れに問題があります。
シューティングゲームのプログラムの基本的な流れは
一例をあげると以下のようになります。
;初期化
(始め)
;自機の移動と自弾の発射
;自弾の移動
;敵の移動と敵弾の発射
;敵弾の移動
;当たり判定
;背景の描画
;自機・敵・敵弾の描画
(始めに戻って繰り返し)
[7680] Re^2: 画像の上に弾を描画する。 投稿者:まる 投稿日:08/02/07(木) 15:38
naznyarkさん返信ありがとうございます。
> 質問と一緒にソースコードを載せる場合は、
> 『そのソースコードに何も手を加えることなくエディタにコピー&ペーストするだけで誰もが実行できて、
> さらに実行することで質問者が問題としている状況がはっきり確認できるもの』
すいません
初めての投稿なもので問題部分だけを書けばいいかと思ってしまいましたm(_ _)m
> 基本的なプログラムの流れに問題があります。
> シューティングゲームのプログラムの基本的な流れは
> 一例をあげると以下のようになります。
>
> ;初期化
> (始め)
> ;自機の移動と自弾の発射
> ;自弾の移動
> ;敵の移動と敵弾の発射
> ;敵弾の移動
> ;当たり判定
> ;背景の描画
> ;自機・敵・敵弾の描画
> (始めに戻って繰り返し)
上のプログラムの流れと同じことをしているのですがうまくいかないのです。
もう一度だけ自分でがんばってみることにします。
改めてnaznyarkさんありがとうございましたm(_ _)m
[7681] Re^3: 画像の上に弾を描画する。 投稿者:naznyark 投稿日:08/02/09(土) 02:06
> 上のプログラムの流れと同じことをしているのですがうまくいかないのです。
> もう一度だけ自分でがんばってみることにします。
いちおう参考用に載せときます。
#const SCREEN_W 640
#const SCREEN_H 480
*HAJIME
randomize
screen 0, SCREEN_W, SCREEN_H, 0
buffer 1, SCREEN_W, SCREEN_H, 0
color 0, 0, 32 : boxf
buffer 2, 100, 60, 0
color 0, 255, 0 : boxf
buffer 3, 16, 32, 0
color 0, 0, 0 : boxf
color 0, 0, 255 : boxf 0, 0, 15, 15
color 100, 100, 100 : circle 0, 16, 16, 32, 1
px = 320 : py = 240
BOX_TIM = 1 ;敵四角形弾発射タイミング
tekikazu = 2
dim teki_x, tekikazu
dim teki_y, tekikazu
dim teki_tamatim, tekikazu
repeat tekikazu
teki_x( cnt ) = rnd( SCREEN_W ) : teki_y( cnt ) = rnd( SCREEN_H )
loop
TAMAKAZU = 64 ;最大弾数
TAMASPEED = 10 ;弾スピード
dim TEKIDAN,TAMAKAZU ;弾の存在を判定するフラグ
ddim TEKIDAN_X,TAMAKAZU ;弾X座標格納用
ddim TEKIDAN_y,TAMAKAZU ;弾Y座標格納用
ddim TEKIDAN_R,TAMAKAZU ;弾角度
*mainloop
gosub *move_teki
gosub *move_tekidan
;gosub *hitcheck
gsel 0
redraw 0
gosub *draw_bg
gosub *draw_player
gosub *draw_teki
gosub *draw_tekidan
redraw 1
await 34
goto *mainloop
*draw_bg
gmode 0
pos 0, 0 : gcopy 1, 0, 0, SCREEN_W, SCREEN_H ;背景を描画
return
*draw_player
gmode 2
pos px - 50, py - 30 : gcopy 2, 0, 0, 100, 60 ;自機を描画
return
*draw_teki
gmode 2, 16, 16
repeat tekikazu
pos teki_x( cnt ) - 8, teki_y( cnt ) - 8 : gcopy 3, 0, 0 ;敵機を描画
loop
return
*draw_tekidan
gmode 2, 16, 16
repeat TAMAKAZU
if ( TEKIDAN( cnt ) == 1 ) { ;弾が存在しているか判定
pos TEKIDAN_X( cnt ) - 8, TEKIDAN_Y( cnt ) - 8 : gcopy 3, 0, 16 ;弾を描画
}
loop
return
*move_teki
// 敵の移動。(敵弾の発射判定のみ。)
repeat tekikazu
i = cnt
if ( teki_tamatim( i ) <= BOX_TIM ) {
teki_tamatim( i ) += 1
}else{
teki_tamatim( i ) = 0 ;カウントを戻す
repeat TAMAKAZU ;敵弾発射
if ( TEKIDAN( cnt ) == 0 ) {
TEKIDAN( cnt ) = 1 ;有効にする
TEKIDAN_X( cnt ) = double( teki_x( i ) ) ;敵四角形の位置を代入
TEKIDAN_Y( cnt ) = double( teki_y( i ) )
TEKIDAN_R( cnt ) = atan( py - teki_y( i ), px - teki_x( i ) ) ;角度を代入
break ;強制的にループ脱出
}
loop
}
loop
return
*move_tekidan
;敵弾移動処理
repeat TAMAKAZU
if TEKIDAN(cnt) = 1{
TEKIDAN_X( cnt ) += cos( TEKIDAN_R( cnt ) ) * TAMASPEED
TEKIDAN_Y( cnt ) += sin( TEKIDAN_R( cnt ) ) * TAMASPEED
;画面外にでたら消滅
if TEKIDAN_X(cnt) <= -8 | TEKIDAN_X(cnt) >= SCREEN_W + 8 | TEKIDAN_Y(cnt) <= -8 | TEKIDAN_Y(cnt) >= SCREEN_H + 8 {
TEKIDAN(cnt) = 0
}
}
loop
return
[7682] Re^4: 画像の上に弾を描画する。 投稿者:まる 投稿日:08/02/12(火) 09:52
naznyarkさん返信ありがとうございます。
結局自分でやったのでは画面のチラつきは直らなくてnaznyarkさんのサンプルを参考にしてみたら・・・直りました。
原因は色々あったのですが結局は凡ミスでしたorz
naznyarkさんありがとうございましたm(_ _)m
これで次の工程にすすめそうです。
[7656] ? 投稿者:katu 投稿日:08/01/05(土) 14:24
HSPって皆さんいくつぐらいのときにはじめましたか?
[7668] 質問なんですが 投稿者:りょう 投稿日:08/01/28(月) 22:34
いくつかあるんですがまず一つ目はシューティングゲームの話なんですがstick命令でキーボードから上下左右の値を変数kyにいれたとします。そしてif命令で&で判断すると斜め方向に進めるようになりますよね?そしてスペースで玉を発射するようにしてるんですが
なぜか左斜め上移動しながら玉を発射することができません。
左斜め上以外では移動しながら発射することができます。
二つ目はこれもシューティングゲームの話なんですがまず配列で
dansu = 3
dim sx,dansu : dim sy,dansu
dim sf,dansu
という玉の配列をつくります。
repeat 3 : c = cnt
gosub *shot
loop
・
・
・
*shot
if (ky & 16) & (sf(c)=0){mmplay 0
sx(c)=px+12 : sy(c)=py+12
sf(c) = 1
}
if (sf(c) = 1){
sx(c)+=22
pos sx(c),sy(c)
gcopy 2,32,64,32,16
if sx(c)>800 : sf(c) = 0
}
return
こういう感じでプログラムをくんだんですが、なぜかスペースをおしても玉が発射してくれません。
if (ky & 16) & (sf(c)=0){
ここの ky&16の部分の&を=にすれば玉を発射してくれます。
しかもなぜか一発だけ・・・・・
しかし当然移動しながら玉を移動しながら発射することができませ
ん。
いろいろ考えたんですがどうしてもわかりません。どなたかおねがいします。
[7669] stick命令がうまく動かない(Re: 質問なんですが 投稿者:GENKI 投稿日:08/01/28(月) 23:54
> なぜか左斜め上移動しながら玉を発射することができません。
キーボードにはキーロールオーバーという同時押しが可能な上限数があります。
ある組み合わせでは3つ同時押しできても、ある組み合わせでは押せない、ということがしばしば起こります。
この問題はキーボードのハードウェアの問題ですので、ソフト側で回避する方法はありません。
↓詳細はここに書いてますのでご一読ください。
http://hspdev-wiki.net/?%BE%AE%A5%EF%A5%B6%2F%A5%B8%A5%E7%A5%A4%A5%B9%A5%C6%A5%A3%A5%C3%A5%AF#t64da8e0
↓単純なスクリプトで現象を確認することが出来ます。
*main
redraw 1 : await 16 : redraw 0 : color 255, 255, 255 : boxf : color : pos 0,0
stick key,2048-1
mes key
goto *main
> ここの ky&16の部分の&を=にすれば玉を発射してくれます。
いいところまで来てますね。お察しの通り、そこが問題の原因になっている個所です。
結果から言うと、
if ((key&16)=16) & (sf(c)=0){
とすることで動くようになるはずです。
これは実際には「&」はビット演算という計算をしているためです。
HSP開発WIKIに詳細に解説した記事↓がありますので読んでみてください。
http://hspdev-wiki.net/?%BE%AE%A5%EF%A5%B6%2F%A5%D3%A5%C3%A5%C8%C1%E0%BA%EE
> しかもなぜか一発だけ・・・・・
非トリガータイプキー指定はちゃんとしていますか?
というかこのスクリプトだと3発の連射速度が速すぎてほぼ同時に射出されたように見えると思うのですが。
[7670] Re: stick命令がうまく動かない(Re: 質問なんですが 投稿者:りょう 投稿日:08/01/29(火) 00:43
おお!!解決しました。実際にはこういう処理がされてたんですね。
これで疑問がとけましたありがとうございます。
> 非トリガータイプキー指定はちゃんとしていますか?
というかこのスクリプトだと3発の連射速度が速すぎてほぼ同時に射出されたように見えると思うのですが。
本当ですね・・・・・
これも ky=0をいれることで解決できました。
本当にありがとうございました。
またなにかあったらよろしくおねがいします。
[7666] わかりません。。。 投稿者:涼 投稿日:08/01/27(日) 19:35
HSPの基礎的なところはわかったのですが、、、
いざゲームを作ろうと思うとどうすればいいのかわかりません;
皆さんは何を参考にして始めたのですか?
俺は3DアクションRPGが作りたいのですが、、、
何か参考になる物やHPを教えて頂けたらありがたいです。
[7667] 何からはじめたらいいの?(Re: わかりません。。。 投稿者:GENKI 投稿日:08/01/28(月) 21:13
まず重要なのは「何を完成させるか」ではなく「完成させること」です。
最初は高望みしないで簡単な出来るところからはじめるのが近道ですよ。(でも最終目標は常に上、3DアクションRPG。)
まずは次のようなことをやってみてはいかがでしょうか?
・今出来ることの範囲で、何か作ってみる。(役に立たないジョークプログラムでいいので。)
・付属のサンプルやHPなどで公開されているスクリプトを改造して何かひとつ作ってみる。
・フローチャートを書いてみる。
少しずつ出来ることを増やしていくといいですよ。
> 皆さんは何を参考にして始めたのですか?
ぷまさんのヘルプにはサンプルが掲載されててとても助かった記憶があります。
見やすくて検索しやすかったですし。
あとは、あちこちのサイトを参考にしてました。
検索でヒットしたのを手当たりしだいだったんで何処とは言い切れません。(^ ^;
> 何か参考になる物やHPを教えて頂けたらありがたいです。
定番でしょうか?
[HotSoupProcessorBiginner'sClub]http://www.rinku.zaq.ne.jp/ultimate/
でもやっぱり自分に合ったサイトを自分で探すのが一番だと思います。(どんなサイトがあるのかも分かりますし。)
http://hsp.tv/play/link2.html
[7665] そうですか♪ 投稿者:テルル 投稿日:08/01/15(火) 19:29
GENKIさん、どうもありがとうございます。
さっそくダウンロードしてみます。
また何かあったら教えてください。
よろしくお願いします。
[7663] 質問です 投稿者:テルル 投稿日:08/01/14(月) 19:25
HSP未経験者です。ナンバープレース(パズル)の自動解析ソフトなんかもHSPで作れるのでしょうか。教えてください。
[7664] [質問]数独の自動解析は出来ますか?(Re: 質問です 投稿者:GENKI 投稿日:08/01/15(火) 00:31
> ナンバープレース(パズル)の自動解析ソフトなんかもHSPで作れるのでしょうか。
数独、ナンプレなどとも呼ばれているものですね。
HSPでどんなことが出来るのかは、昨年行われたHSPプログラムコンテストの応募作品をご覧になると良く分かると思います。
http://hsp.tv/contest2007/index.html
また該当する作品がいくつか出品されていたようです。
[7655] 無題 投稿者:あんこ 投稿日:07/12/26(水) 19:20
ありがとうございました
[7649] 誰か… 投稿者:あんこ 投稿日:07/12/20(木) 22:36
今までに出た新聞や週刊誌の過去記事を調べたいんですけど、
そういうプログラムってありますか?返事待ってます
[7654] Re: 誰か… 投稿者:BAA 投稿日:07/12/25(火) 15:36
新聞サイトの記事をデータベース化して保存するソフト(新聞つんどく と
か)だったら知ってますが、そのようなソフトは聞いた事ありませんね。
というか、新聞はともかく週刊誌の記事のデータベースなんてあるのかし
らん。新聞も、データベースを利用するのにお金を払わなければならないと
ころがほとんどみたいですし。
[7650] Re: 誰か… 投稿者:GENKI 投稿日:07/12/21(金) 23:26
> 今までに出た新聞や週刊誌の過去記事
これらはどのような形式のデータになっているのでしょうか?
あるいは、どこかのデータベースを利用しようとされているのでしょうか?
既存品を使うにしても自作するにしてもこれがわからなければどうしようもありません。
> そういうプログラムってありますか?
ソフトウェア探しならベクター(http://www.vector.co.jp/)や窓の杜(http://www.forest.impress.co.jp/)が有名ですね。
[7633] フォントフォルダから削除 投稿者:めざるーな 投稿日:07/12/07(金) 14:42 <URL>
フォントフォルダからインストールされている
フォントをHSPから削除する方法をお教えください。
[7643] Re: フォントフォルダから削除 投稿者:root 投稿日:07/12/19(水) 16:01
> フォントフォルダからインストールされている
> フォントをHSPから削除する方法をお教えください。
#include "gdi32.as"
#const HWND_BROADCAST $FFFF
#const WM_FONTCHANGE $1D
f = dirinfo($10014) +"\\arial.ttf"
RemoveFontResource f
if stat {
exist f
if strsize ! -1 {
delete f
}
sendmsg HWND_BROADCAST, WM_FONTCHANGE
}
フォントを削除してシステムを再起動、でOKだと思います。
あ、arial.ttfは予めどこかにバックアップしておいてください :)
[7644] Re^2: フォントフォルダから削除 投稿者:めざるーな 投稿日:07/12/20(木) 10:02
rootさん、ありがとうございました。
おかげさまで成功いたしました。しかし、リンク状態で
インストールされているフォントは、削除できませんでした。
これに対処する方法は、ないでしょうか?
再度ご指導のほどお願いいたします。
[7646] Re^3: フォントフォルダから削除 投稿者:root 投稿日:07/12/20(木) 16:55
> おかげさまで成功いたしました。しかし、リンク状態で
> インストールされているフォントは、削除できませんでした。
explorer.exeでフォントフォルダを見た時の、ショートカットのマークが付いたファイルですね。
あれは確かエクスプローラがショートカットのように見せているだけで、実態はファイルではありません。
情報はレジストリにあるので、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
にある該当エントリを削除すればOKのはずです(ちょっと自信ない...)。
その後は
sendmsg HWND_BROADCAST, WM_FONTCHANGE
とメッセージを全トップレベルウィンドウに対して送って再起動で完了です。
[7648] Re^4: フォントフォルダから削除 投稿者:めざるーな 投稿日:07/12/20(木) 19:17
root さん
万事解決いたしました。
重なる質問にお答えいただき感謝致します。
[7645] getkeyについて 投稿者:【ある】 投稿日:07/12/20(木) 13:52
HSP3を使用しているのですが
getkeyはトリガーキーの指定はできないのでしょうか?
もしできなければ強制的にトリガーキーにする方法はありますか?
説明が分かりにくかったらすみません。よろしくお願いします。
[7647] Re: getkeyについて 投稿者:root 投稿日:07/12/20(木) 16:57
> getkeyはトリガーキーの指定はできないのでしょうか?
過去ログを「拡張版getkey」で検索すると見つかります :)
[7631] IEのオブジェクト取得 投稿者:dds 投稿日:07/12/05(水) 21:30
現在、ブラウザのなかにあるテキストボックスに特定の文字を自動で入力するスクリプトをつくっています。
(つまりこの掲示板だと、おなまえのとなりにあるテキストボックスにABCDEと入力するといたかたちです)
とりあえずスクリプトはくんでみたのですが、aplselでウィンドウを選択して、(そこまでは問題なしです。stat=0)aplobjでのIE上にある
オブジェクトの選択の仕方が分かりません。
とりあえずだいたいのスクリプトをのせておきます。
どうかお願いします。
いまからのせるスクリプトは、現在作成している物のこの掲示板版です。この場合はおなまえのとなりのテキストボックスに自動入力ABCDと入力することにします。
;-----------------------
;文字自動入力スクリプト
;-----------------------
#include "hspext.as"
title "自動入力"
kaisu="50";実行する回数
titlbar="HSP bata-BBS 3rd";使用したいタイトルバーの一部
*main
dialog "実行しますか?",2,"実行"
if stat=7:goto *end
aplsel ""+titlbar+""
if stat=1:dialog "ウィンドウが存在しません",0,"エラー":goto *exit
repeat kaisu
wait 50
aplkey 65
wait 10
aplkey 66
wait 10
aplkey 67
wait 10
aplkey 68
wait 10
aplkey 69
wait 10
aplkey 70
wait 10
loop
*exit
end
[7642] Re: IEのオブジェクト取得 投稿者:root 投稿日:07/12/19(水) 16:00
> とりあえずスクリプトはくんでみたのですが、aplselでウィンドウを選択して、
> (そこまでは問題なしです。stat=0)aplobjでのIE上にあるオブジェクトの選択の仕方が分かりません。
IEのオブジェクトはWindowsが用意したオブジェクトではなく、IEが独自にレンダリングしているもの
なのでapl系の命令で操作できません。この場合はCOMを経由して操作、という形になります。
とりあえずなサンプルを書いてみました。エラー処理してないので途中でこけるかもしれません ;)
#include "user32.as"
#uselib "oleacc"
#func ObjectFromLresult "ObjectFromLresult" sptr,sptr,sptr,sptr
#uselib "ole32"
#func IIDFromString "IIDFromString" wptr,wptr
#const SMTO_ABORTIFHUNG $00000002
#const null 0
exec dirinfo($10026) +"\\Internet Explorer\\iexplore.exe"
wait 500 ; 準備ができるまで待つ
; ie7を探す
FindWindow "IEFrame", null
FindWindowEx stat, null, "TabWindowClass", null ; ie6ならこの行をコメントアウト
FindWindowEx stat, null, "Shell DocObject View", null
FindWindowEx stat, null, "Internet Explorer_Server", null
wIes = stat
; ieにドキュメントをくださいとお願いする
RegisterWindowMessage "WM_HTML_GETOBJECT"
SendMessageTimeout wIes, stat, 0, 0, SMTO_ABORTIFHUNG, 1000, varptr(ret)
; もらったポインタからIHTMLDocument2へのポインタを取得
dim iid, 4
IIDFromString "{332C4425-26CB-11D0-B483-00C04FD90119}", varptr(iid)
p = 0
ObjectFromLresult ret, varptr(iid), 0, varptr(p)
; ドキュメントを操作
newcom pDoc,, -1, p
pDoc("URL") = "http://www.onionsoft.net/hsp/beta/betabbs.cgi"
repeat
if pDoc("readyState") = "complete" : break
wait 10
loop
c = pDoc("forms") ; form collection
e = c("item", 0) ; 1st form element
e = e("item", "name") ; "name" element
e("value") = "ABCD"
delcom e
delcom c
delcom pDoc
end
[7636] ホイールの制御 投稿者:atx65 投稿日:07/12/09(日) 21:14
いろいろネットで調べたんですけどホイール付きマウスの移動量はmousewで取得できるのは分かったんですけど逆に押した(ホイールを回した)りとhspextのaplkay命令みたいに送信する方法が分かりませんでした
知っていましたら誰か教えてください。
[7639] Re: ホイールの制御 投稿者:GENKI 投稿日:07/12/11(火) 22:49
> いろいろネットで調べたんですけどホイール付きマウスの移動量はmousewで取得できるのは分かったんですけど逆に押した(ホイールを回した)りとhspextのaplkay命令みたいに送信する方法が分かりませんでした
>
> 知っていましたら誰か教えてください。
同じ人が同じ質問を複数の掲示板に同時期に投稿する行為をマルチポストといい、ネット上ではマナー違反とされています。
詳しくはこのアドレスをご覧になるか、「マルチポスト」で検索してみてください。
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88
また、質問についてはHSP3掲示板の方で解答レスがつけられていますので、
詳細な質問害したい場合などは、HSP3掲示板のご利用をオススメします。
[7640] Re^2: ホイールの制御 投稿者:atx65 投稿日:07/12/12(水) 19:22
> 同じ人が同じ質問を複数の掲示板に同時期に投稿する行為をマルチポストといい、ネット上ではマナー違反とされています。
> 詳しくはこのアドレスをご覧になるか、「マルチポスト」で検索してみてください。
> http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88
>
> また、質問についてはHSP3掲示板の方で解答レスがつけられていますので、
> 詳細な質問害したい場合などは、HSP3掲示板のご利用をオススメします。
始めにHSP3用掲示板に投稿したのですがエラーメッセージが出たのでこっちに書き込みをさせてもらったのですがちゃんと書き込まれていたんですね。
ご迷惑をおかけしました。
[7641] Re^3: ホイールの制御 投稿者:GENKI 投稿日:07/12/12(水) 21:25
> 始めにHSP3用掲示板に投稿したのですがエラーメッセージが出たのでこっちに書き込みをさせてもらったのですがちゃんと書き込まれていたんですね。
そうだったんですか。失礼しました、ちょっと言い過ぎてしまいましたね。
エラーで投稿できてないと思っちゃう方々ってブラウザの戻るボタンで戻ってしまってるんでしょうか。
戻るボタンで戻るとPCに保存されたデータが表示されちゃうんで、うまく行ってないと勘違いしちゃうんでしょうね。
更新ボタン押せばいいだけなんですけど。
投稿後の投稿状況・内容の確認はエラーあるなしにかかわらずちゃんとやるよう週間づけておいたほうがいいですよ。
投稿直後に読み返すと気づくミスってのもあるものですから。
[7628] アニメーションについて 投稿者:カライ 投稿日:07/12/05(水) 00:12
こんばんは。わからない部分があったので質問させていただます。
スクリーンセーバーで、キャラが右端から画面を横切るアニメーションを作りました。
今はリピートの回数分進むようにしているので、画面のサイズによっては、画面の端まで到達できなかったり、あるいは次の画面に切り替わるまで時間がかかったりしています。
どんな画面サイズでも、画面の端に到達してすぐに次の画面に移れるようにするにはどうすればよいでしょうか?
↓アニメ部分のスクリプト↓
pattern = 1, 2, 1, 2
posx = ax
posy = ay-300
repeat
redraw 2
count = cnt
repeat 1
pos posx.cnt, posy.cnt
gcopy 3,1,1,59,76
switch cnt
case 0 : posx.cnt -= 4 : swbreak
case 1 : posy.cnt -= 3 : swbreak
case 2 : posx.cnt += 5 : swbreak
case 3 : posy.cnt += 2 : swbreak
swend
loop
redraw
wait 15
repeat 1
pos posx.cnt, posy.cnt
gcopy 3,59,1,59,76
switch cnt
case 0 : posx.cnt -= 4 : swbreak
case 1 : posy.cnt -= 3 : swbreak
case 2 : posx.cnt += 5 : swbreak
case 3 : posy.cnt += 2 : swbreak
swend
loop
redraw
wait 15
loop
[7629] Re: アニメーションについて 投稿者:naznyark 投稿日:07/12/05(水) 03:15
提示されたコードはコピー&ペーストで実行しただけでは
状況を確認できる動作をしない上に意味不明な部分があって
参考になりません。
それは置いておいて、画面サイズの値を処理に利用すれば良いと思います。
buffer 1
font msgothic, 60
mes "1\n2"
gsel 0
px = ginfo_winx // 初期座標を画面右端に設定。
py = ( ginfo_winy - 60 ) / 2
pt = 0
repeat
wait 15
redraw 0
// 消去
color 255, 255, 255
boxf px, py, px + 29, py + 59
// 表示
px -= 8 // 座標を左にずらす。
if ( px < -30 ) { px = ginfo_winx }
// 画面左端に達したら右端に戻す。
pos px, py
gcopy 1, 0, pt * 60, 30, 60
redraw 1
pt ^= 1
loop
[7630] Re^2: アニメーションについて 投稿者:カライ 投稿日:07/12/05(水) 21:09
有難う御座います。
もっと勉強して自分でスプリクトを組めるよう頑張ります;
[7627] ありがとうございました。 投稿者:めざるーな 投稿日:07/12/04(火) 07:20 <URL>
ANTARES さん
ありがとうございました。
がっくり致しましたが、これであきらめがつくでしょう。
[7625] 複数ファイルのパスを取得するには 投稿者:めざるーな 投稿日:07/12/03(月) 15:05 <URL>
#include "hspext.as"
gsel 0,-1
clipset dir_cmdline
end
上記のスクリの実行ファイルにWindowsのエキスプローラから任意の
ファイルをDrag&Dropして、そのファイルのパスを取得したり、
レジストリのHKEY_CLASSES_ROOT\Shell\commandに実行ファイル
名を書き込んでエキスプローラでのファイルの右クリックからファイル
のパスを取得したりして利用していますが、Drag&Dropでは、複数フ
ァイルのパスを取得できますが、右クリックからでは取得できません。
右クリックから複数ファイルのパスを取得する方法を教えてください。
[7626] Re: 複数ファイルのパスを取得するには 投稿者:ANTARES 投稿日:07/12/03(月) 22:15 <URL>
>右クリックから複数ファイルのパスを取得する方法を教えてください。
ないと思います。
[7616] エラー(T_T) 投稿者:Tagia 投稿日:07/12/01(土) 18:48 <URL>
こんばんは。。。
どうしてもわかりませんので投稿させてもらいます。
このプログラムで自動実行?(hsptmp.exe)をおすと
#Error2
--> 内部エラーが発生しました(2)
とでるのですが、エラー2は文法がおかしいらしいのですが
普通にプログラムから実行してもいけるので
どうすればいいのかわかりません(T_T)
どなたか教えてください。。。
[7617] Re: エラー(T_T) 投稿者:Tagia 投稿日:07/12/01(土) 18:59
すいません
アドレスを間違えました^^;
こちらです
http://tagia.moryou.com/hsp.html
[7618] Re^2: エラー(T_T) 投稿者:tks 投稿日:07/12/01(土) 22:40
> 普通にプログラムから実行してもいけるので
> どうすればいいのかわかりません(T_T)
デバッグの仕方はご覧になったでしょうか?
どこでエラーが発生しているのか調べてみましたか?
少しずつdialogでも入れて調べてみれば、ES_TIMERで
引っかかっているのがわかるはずです。
さて、ES_TIMERの記述自体に問題はありません。ではなぜ
文法が間違っているといわれるのか。それは添付されたhspdx.dllの
バージョンが古いからです。
(タイトルは内容のわかるものにしましょう)
[7619] Re^3: エラー(T_T) 投稿者:Tagia 投稿日:07/12/01(土) 23:49
> デバッグの仕方はご覧になったでしょうか?
> どこでエラーが発生しているのか調べてみましたか?
> 少しずつdialogでも入れて調べてみれば、ES_TIMERで
> 引っかかっているのがわかるはずです。
ご返答ありがとうございます。
dialogをいれるというのがよくわからないです。。。
まだまだhsp実質2ヶ月程度...
しっかり勉強し、出直してきます。
> さて、ES_TIMERの記述自体に問題はありません。ではなぜ
> 文法が間違っているといわれるのか。それは添付されたhspdx.dllの
> バージョンが古いからです。
あたらしいのを添付しようと思います。
> (タイトルは内容のわかるものにしましょう)
変えました。。。
いろいろとありがとうございました;;
[7620] Re^4: エラー(T_T) 投稿者:tks 投稿日:07/12/02(日) 00:01
> dialogをいれるというのがよくわからないです。。。
スクリプトの途中にdialogを書いてみて、そのダイアログが
無事に表示されたらそれ以降に問題があるので、もう少し後に
dialogをずらしてみると…そんな感じです。
> > (タイトルは内容のわかるものにしましょう)
> 変えました。。。
この掲示板で質問するときの"題名"ことですよ?
[7621] Re^5: エラー(T_T) 投稿者:Tagia 投稿日:07/12/02(日) 11:59
> この掲示板で質問するときの"題名"ことですよ?
あっ。。。
ごめんなさい。。勘違いでしたね。。
これかたはそうしようと思います。。
(#Error2 が出てしまう。。。など
[7615] 現在時刻取得 投稿者:しぃ 投稿日:07/12/01(土) 01:16
時刻を任意サーバーから取得したいのですが
よい方法はないでしょうか?
NTPサーバーから取得するスプリクトを見つけましたが
私には少々難解で、DseNtpTime.dllは日付の取得ができなく、
困っています。よろしければご指南ください。
http://blog.goo.ne.jp/hiro239415/e/1a7ab9222957c7c023d95cfcef915148
[7603] メニューバーのスタイル 投稿者:睦月 投稿日:07/11/25(日) 15:15
メニューバーをオーナードローにして、Office XP のようなメニューバーを作りたいと思っています。
http://fs-cgi-basic01.freespace.jp/~puma/lng/joyful.cgi?print+log3/04110012.txt
ここのソースでは、【開く】や【保存】にはこれが適応されているのですが、
【ファイル】とか【表示】のメニューバーそのものの部分にこの処理を適応させるにはどうすればいいでしょうか?
分かりにくい文面かもしれませんが、ご指南お願いします。
[7610] Re: メニューバーのスタイル 投稿者:root 投稿日:07/11/25(日) 23:48
リンク先のちょくとさんのサンプルではトップレベルメニューの作成時に
オーナードローのフラグを指定していないので、同じくオーナードローに
するにはGetMenuItemInfo・SetMenuItemInfo関数を使ってトップレベル
メニューの情報を書き換えてあげる必要があります。
もしくは最初からオーナードローのフラグを指定してメニューを作成する
とか...(^_^;
[7613] Re^2: メニューバーのスタイル 投稿者:睦月 投稿日:07/11/26(月) 19:31
ご指南ありがとうございます。
早速試して見ます。
[7605] 質問です。 投稿者:【ある】 投稿日:07/11/25(日) 16:59
たびたびすみません。それと矢野さんありがとうございました。
まだHSP1ヶ月で当たり前のことを聞いてしまうかもしれませんがご了承ください。
自分が書いた文字を下から上にスクロールしたいのですがどうしたらできますか?
[7606] Re: 質問です。 投稿者:矢野 投稿日:07/11/25(日) 21:06
> 自分が書いた文字を下から上にスクロールしたいのですがどうしたらできますか?
メスボックスに、ボックスの縦サイズ以上の行数の文字を記入すると
自動でスクロールバーが装着され、
文字を下から上にスクロールできますが、それでいいのですか?
スクリプトを付けておきます。
moji2=""
moji=""
repeat 30
moji=" "+cnt+" 文字をスクロールします。"+"\n"
moji2+=moji
loop
mesbox moji2,200,200,1
それから、質問のタイトルは、
質問の内容が分かるように書きましょう。
たとえば、「文字をスクロールさせたい。」
[7607] Re^2: 質問です。 投稿者:【ある】 投稿日:07/11/25(日) 22:22 <URL>
矢野さん返信と指摘ありがとうございます。
説明不足というか、言い方が分からんかったです。
でも、あのスクロール方法も知りたかったので感謝です(・人・)
説明するより見てもらったほうがいいと思ったので一応URL貼り付けて
みました。
ちなみにSTARTボタンを押したあとの処理をお願いします。
[7608] Re^3: 質問です。 投稿者:矢野 投稿日:07/11/25(日) 23:27
> ちなみにSTARTボタンを押したあとの処理をお願いします。
スクロールではなくて、文字の移動ですね。
文字を書く→文字を消す→文字を少しだけ移動した位置に書く→文字を消す
この繰り返しで、文字が動くように見えます。
次のスクリプトを、試してみてください。
screen 0,640,380
pos 300,350
button goto "start",*idou
stop
*idou
repeat 400
pos 10,380-cnt
color 0,0,0
mes "文字の移動できるかな?"
wait 1
color 255,255,255
boxf 10,380-cnt,10+180,380-cnt+20
loop
[7609] Re^4: 質問です。 投稿者:矢野 投稿日:07/11/25(日) 23:35
画面を黒くして、白抜きの文字にするなら
文字の色を白、boxf を全画面に適用して色を黒にします。
次のスクリプトを、試してみてください。
screen 0,640,380
pos 300,350
button goto "start",*idou
stop
*idou
repeat 400
pos 10,380-cnt
color 255,255,255
mes "文字の移動できるかな?"
wait 1
color 0,0,0
boxf 0,0,640,380
loop
[7612] Re^5: 質問です。 投稿者:【ある】 投稿日:07/11/26(月) 08:54
できました!!
本当に感謝です。ありがとうございましたm(_ _)m
[7597] 質問です 投稿者:めざるーな 投稿日:07/11/23(金) 16:06 <URL>
インストールしていないTrueTypeFontやOpenTypeFontのファイルから
書体名をHSPのプログラムから取得する方法を教えてください。
[7604] Re: 質問です 投稿者:root 投稿日:07/11/25(日) 16:46
インストールせずに書体名を取得、となるとフォントを自分で解析...になりますが、
フォントの種類毎にフォーマットが違うので大変です(^_^;
フォントを一時的にインストールして名前を取得した方が良いかと思います。
方法としては、
1. AddFontResourceで登録
2. GetFontResourceInfo(gdi32の隠し関数)で書体名を取得
3. RemoveFontResourceで消す
という感じで。ただ、この方法もWindowsのバージョンによって少し工夫しないと
いけないかも知れません。WinXP+SP2ではGetFontResourceInfo関数がW版のみしか
ありませんでした。他のバージョンはわかりません...
以下、「ttfとotfを解析して書体名を取得」もやってみました。
自分の環境でしかテストしていないので、何か穴があったらすみません。
#define ctype btol2(%1) ((%1<<8&$ff00)|(%1>>8))
#define ctype btol(%1) ((%1<<24)|(%1<<8&$ff0000)|(%1>>8&$ff00)|(%1>>24&$ff))
path = "C:\\foo.ttf" // 何か適当なttfかotfで
exist path
sdim buf, strsize + 1
bload path, buf, strsize
nTables = btol2(wpeek(buf, 4)) // number of tables
// 各テーブルを見て、Naming Tableを探す
dim tableDir, nTables * 4
memcpy tableDir, buf, nTables * 4 * 4,, 12
tag = ""
repeat nTables
memcpy tag, tableDir, 4,, (cnt * 4 * 4)
if tag = "name" {
offset = btol(tableDir(cnt * 4 + 2)) // from start of file
len = btol(tableDir(cnt * 4 + 3)) // length of name table
sdim nameTable, len + 1
memcpy nameTable, buf, len,, offset
break
}
loop
// Naming Tableの各レコードを見て、フォント名を探す
nRecords = btol2(wpeek(nameTable, 2))
ofsStorage = btol2(wpeek(nameTable, 4)) // from start of table
offset = 6
repeat nRecords
pid = btol2(wpeek(nameTable, offset)) // platform id
peid = btol2(wpeek(nameTable, offset + 2)) // platform encoding id
nid = btol2(wpeek(nameTable, offset + 6)) // name id
// if the record is for microsoft, unicode and family name.
if (pid = 3) & (peid = 1) & (nid = 1) {
lid = btol2(wpeek(nameTable, offset + 4)) // locale id
len = btol2(wpeek(nameTable, offset + 8)) // length of string
ofsString = btol2(wpeek(nameTable, offset + 10)) // from start of storage
sdim string, len + 2
memcpy string, nameTable, len,, ofsStorage + ofsString
// big endian to little endian.
repeat len / 2
wpoke string, cnt * 2, btol2(wpeek(string, cnt * 2))
loop
mes "LCID: "+ strf("0x%04x", lid)
mes "font family name: "+ cnvwtos(string) +"\n"
}
offset += 12
loop
[7611] ありがとうございます 投稿者:めざるーな 投稿日:07/11/26(月) 06:52
長い間難問でありました課題でありましたので、胸のつかえが降りた
気分です。懇切なご指導ほんとうにありがとうございました。
[7600] 頂点座標をいじりたいのですが 投稿者:ラジオ 投稿日:07/11/24(土) 02:07
みなさん、こんにちは。ラジオといいます。
HSP3.1を使用しています。
「hgimg3.as」をインクルードし、「addmesh」を使ってメッシュを作成、表示しています。
メッシュの頂点座標を自分の思うとおりに設定したいのですが方法がわかりません。
「getmpoly」や「setmpoly」などというものを使えば出来るらしいのですが、「hgimg3.as」には入っていないようです。
どなたか、頂点座標のいじり方がわかる方がおられれば指導いただけないでしょうか?
[7598] 質問です。 投稿者:【ある】 投稿日:07/11/23(金) 20:41
HSP3.0ではobjsendは使えないのでしょうか?
[7599] Re: 質問です。 投稿者:矢野 投稿日:07/11/23(金) 21:42
> HSP3.0ではobjsendは使えないのでしょうか?
上記の命令は廃止されました。sendmsg 命令を使用してください。
[7590] 大きな画像を作ろうとすると・・・ 投稿者:元ウリ畑 投稿日:07/11/18(日) 14:00
大きな画像を簡単に処理させたいと思って、色々てすとをしてるのですが、line命令で大きいbuffer(1200×1800)で使っていると画像が意図した物になりません。
実際には、「lineで上から下・そして隣を上に戻る。同じく右から左・また隣を右に戻る。」のような二車線を一定感覚で走らせてるのですが、
横600、縦900よりも大きい数字の位置から片一方のlineしか実行されてない状況で、困ってます。
[7592] Re: 大きな画像を作ろうとすると・・・ 投稿者:元ウリ畑 投稿日:07/11/19(月) 02:18
自分の環境下の問題か分からないので、テストのほど御願いします。
=====以下、実際のスプリクトです。===========
Counttip=0 : Xsize=1200 : Ysize=1800 ;変数宣言?
Orinon=54 : Minion=18;幅設定値
buffer 2,Xsize,Ysize
redraw 0
Counttip=0
color 192,168,254
repeat
pos Counttip*Minion,0
line Counttip*Minion,Ysize
line Counttip*Minion+1,0
Counttip++
if Counttip*Minion>Xsize :break
loop
Counttip=0
repeat
pos 0,Counttip*Minion
line Xsize,Counttip*Minion
line 0,Counttip*Minion+1
Counttip++
if Counttip*Minion>Ysize :break
loop
Counttip=0
color 78,18,251
repeat
pos Counttip*Orinon,0
line Counttip*Orinon,Ysize
line Counttip*Orinon+1,0
Counttip++
if Counttip*Orinon>Xsize :break
loop
Counttip=0
repeat
pos 0,Counttip*Orinon
line Xsize,Counttip*Orinon
line 0,Counttip*Orinon+1
Counttip++
if Counttip*Orinon>Ysize :break
loop
bmpsave "nice.bmp"
redraw 1
screen 3,640,480
gcopy 2,0,0,Xsize,Ysize
stop
[7593] Re^2: 大きな画像を作ろうとすると・・・ 投稿者:tks 投稿日:07/11/19(月) 13:14
> 自分の環境下の問題か分からないので、テストのほど御願いします。
> =====以下、実際のスプリクトです。===========
隣にラインを引くのではなく、終点から斜めに引いています。
下のスクリプトのコメントをはずしてみてください。
Counttip=0 : Xsize=120 : Ysize=180
Orinon=54 : Minion=18
screen 0,Xsize,Ysize
Counttip=0
color 192,168,254
repeat
pos Counttip*Minion,0
line Counttip*Minion,Ysize
line Counttip*Minion+1,0;,Counttip*Minion+1,Ysize
Counttip++
if Counttip*Minion>Xsize :break
loop
[7594] Re^3: 大きな画像を作ろうとすると・・・ 投稿者:元ウリ畑 投稿日:07/11/19(月) 20:11
tksさんありがとうございました。
> 隣にラインを引くのではなく、終点から斜めに引いています。
> 下のスクリプトのコメントをはずしてみてください。
自分の大きな勘違いが良く分かりました。
親切にスクリプトまで丁寧にどうもありがとうございました。
[7591] Re: 大きな画像を作ろうとすると・・・ 投稿者:naznyark 投稿日:07/11/19(月) 00:27
> 大きな画像を簡単に処理させたいと思って、色々てすとをしてるのですが、> line命令で大きいbuffer(1200×1800)で使っていると画像が
> 意図した物になりません。
> 実際には、「lineで上から下・そして隣を上に戻る。
> 同じく右から左・また隣を右に戻る。」のような二車線を
> 一定感覚で走らせてるのですが、横600、縦900よりも大きい数字の位置から
> 片一方のlineしか実行されてない状況で、困ってます。
これだけでは元ウリ畑さんが作ったプログラムが
そういう動作をするプログラムだから、としかいえません。
[7588] ありがとうございます 投稿者:RT 投稿日:07/11/18(日) 11:36
Kpanさん、早朝からご回答ありがとうございました。
そうだったんですね。ウィンドウ作って頑張ってみます。
[7589] Re: ありがとうございます 投稿者:RT 投稿日:07/11/18(日) 11:40
新しいスレッド立ててお礼を申し上げましたのは、返信する
で、お礼を書こうとしましたら、二重投稿は禁止です!! と表示されましたもので、新スレ立てました
[7584] ダイアログについて 投稿者:RT 投稿日:07/11/17(土) 21:43
ダイアログについてお尋ねします。
HSPでダイアログを表示すると、
−−−−−−−−−−−−−−−−−−−−−−−−
| /\ ○○○○○○ | | / ! \ |
|/−−−−\ |
| はい いいえ | | |
| |
−−−−−−−−−−−−−−−−−−−−−−−−
みたいになりますよね?
それで、インターネットブラウザーで何かをDLするときみたいなのをつくりたいんですけれども、if stat = 8 とかいくことは不可能
なのでしょうか?回答をお願いします。
それと、はい いいえ ではなく、 実行 保存 キャンセル
にしたいのですが、回答お願いします。
4時間くらいぐぐりましたが、結果は×でした・・・。
[7587] Re: ダイアログについて 投稿者:Kpan 投稿日:07/11/18(日) 08:53 <URL>
>if stat = 8 とかいくことは
「書く」でしょうか? dialog命令のヘルプ説明にあるように、statに
返るのは1、6、7です。
>はい いいえ ではなく、 実行 保存 キャンセル
内部では↓のWin32API関数を呼んでますので無理かと。
http://yokohama.cool.ne.jp/chokuto/urawaza/api/MessageBox.html
screen命令で、そのような感じのダイアログ風ウィンドウを自分で用意する
というのが普通じゃないかと思います。
[7579] スクリプトエディタ 投稿者:k5 投稿日:07/11/16(金) 00:39
HSP3.1になって色分けキーワードは実装されたと思いましたが、まだの様子ですね。。
使用可能な命令でも白いままだったりして何か悲しいような。
[7577] 質問 投稿者:りょうくん 投稿日:07/11/14(水) 18:30
チェックボックスから最前面表示をオンにしたりオフにしたりしたいのですがうまくいきません。誰かアドバイスをお願いします。
a=0
chkbox "最前面表示",a
repeat
if a=1 : gsel 0,2 ;一応最前面表示、でもループにおきたくないんです(画面ちらついたりするので)。チェックボックスの変化を取得するためにこうしています。
if a=0 : wait 10 : continue ;ここで最前面表示解除したいのですけどできません
wait 10
loop
よろしくおねがいします。
[7578] Re: 質問 投稿者:osakana 投稿日:07/11/14(水) 19:55
> チェックボックスから最前面表示をオンにしたりオフにしたりしたい
gsel の第二パラメータに 1 を指定すれば
最前面表示を解除する事が出来ます。
chkbox "最前面表示",a
repeat
if a != a2 : gsel 0,1+a
a2=a
wait 10
loop
if a=1 :gsel 0,2 とするとチェックを押した時だけでなく
チェックにマークが付いている間中ずっと gsel 0,2 を
実行し続けてしまうので、前回のチェックの状態を記憶して
今回と前回2つの状態を比べてみて違ったら実行
するようにしています。(あえてずっと実行し続けたい時は必要ありません)
> でもループにおきたくないんです
ループにしたく無いと言う事なら、
ちょっと難しいかもしれませんがこう言うやり方もあります。
#define BS_AUTOCHECKBOX $03
#define BM_SETSTYLE $F4
#define BM_GETCHECK $F0
button "最前面表示",*lbl
sendmsg objinfo(stat,2),BM_SETSTYLE,BS_AUTOCHECKBOX,0
stop
*lbl
sendmsg objinfo(stat,2),BM_GETCHECK,0,0
gsel 0,stat+1
stop
[7576] OS Xに対応しないの? 投稿者:タカ〜ヲ 投稿日:07/11/14(水) 17:48
どうやらOSXには対応していないようなのですが、既にクラシック環境も無いなかXユーザーはどうしたら良いのでしょう。
それとも Xにこだわるような奴はBootCampでWinでも入れてろボゲエ! という事なのですか?
[7574] addsprのバグ 投稿者:まぅ 投稿日:07/11/10(土) 22:25
hsp3.1にてhgimg3のaddspr命令を
Radeon X1300Proで使うとで2dスプライトの画像の大きさが狂ってしまいます。
Geforce6800gtではまともに表示がされていました。
対応してくださると助かります。よろしくお願いいたします。
[7575] Re: addsprのバグ 投稿者:judge 投稿日:07/11/11(日) 04:53
どのようにスプライトを生成したかによっても状況が変わってきます。
正しく処理されないスクリプトを提示してください。
例えば、texload2等でロードされたテクスチャは、グラフィックカードの仕様に
よって変化してしまう等、ハードウェアの性能上仕方の無い場合もあります。
[7560] HTMLからHSPを起動?? 投稿者:かつのり 投稿日:07/11/06(火) 19:07
まだ、HSPをはじめている訳ではないのですが・・・
扱いやすいプログラムソフトを探しているのですが、質問お願いします。
HSPで作ったソフトは、HTMLの「A href」の指定で起動する事は出来るのですか?
出来なければ、他の方法で起動させる方法はあるのですか?
回答、よろしくお願いします。
[7563] Re: HTMLからHSPを起動?? 投稿者:ANTARES 投稿日:07/11/06(火) 21:40 <URL>
>HSPで作ったソフトは、HTMLの「A href」の指定で起動する事は出来るのですか?
HSPはexeファイルを作ることができるので、「a href=」の後に
exeファイルを指定してできることならできます。
>出来なければ、他の方法で起動させる方法はあるのですか?
hspletというのを使えば、HSPスクリプトをJava appletに変換して
実行することができます。hspletについてはGoogle等で検索してください。
また、WWWサーバーのOSがWindowsなら、HSPで作ったexeファイルをCGIによって
起動できます。もっとも、これはHSPに限ったことではありませんが。
[7562] Re: HTMLからHSPを起動?? 投稿者:soNNaNokaNke-Ne 投稿日:07/11/06(火) 19:49
もっと、最もな回答をします。
HTMLとHTMLファイルは別物です。ちゃんと区別していますでしょうか?
HTMLファイルはただのテキストファイルなのでHSP製ソフトのURIやパスを書いたとしてもHTMLはそれを起動させたりといったことはできません。
HTMLファイルに画像ファイルのURIを書いたら画像が表示されたりするのはHTMLが表示しているのではなくブラウザが表示しているのです。
だから、
>HTMLからHSPを起動??
これはできません。
[7561] Re: HTMLからHSPを起動?? 投稿者:soNNaNokaNke-Ne 投稿日:07/11/06(火) 19:39
多くの方にとってあなたの質問は何を言っているのか意味不明ですよ。本当に。嫌がらせとかではなくて。
プログラムソフトとはなんですか?
HTMLの「A href」の指定とはなんですか?リンクのことですか?
どこにあるHSPソフトへのリンクですか?
ローカルにあるファイルパス?WEB上にあるURI?URIはエンコードされたもの?されていないもの?
実行ファイルへのリンクを書いたとしても、多くのブラウザでは
ダウンロードするかしないかのダイアログが出て、
「実行」を選べば一時フォルダにダウンロード後にローカルで実行って流れになると思いますよ。
WEB上に置いた実行ファイルをサーバーで実行させるとかそういうこと?
それならちゃんとした用語があるだろうし・・・。
そういうわけでHSPをやる前にちゃんと自分の言いたいことが言えているか再確認したほうがいいですよ。
[7564] スクリプトエディタのバグ報告 投稿者:みけこけた 投稿日:07/11/08(木) 13:35
HSP3.1 付属の SP script editor For Windows version 3.1で
バグを発見したのでご報告いたします。
「ツール」→「オプション」→「エディタ」「フォント設定」のフォント設定で
エディタのフォントの太字設定が有効になりません。
(太字が選択されているのにエディタ画面にそれが反映されない)
タブのフォントの太字は有効になります。
WindowsXP HomeEdition で上記の現象を確認しました。
ご確認をお願いいたします。
[7568] Re: スクリプトエディタのバグ報告 投稿者:矢野 投稿日:07/11/10(土) 00:04
AR丸ゴシック体Eなどの幅の広いフォント名を選択して「太字」にしてみてください。
エディタのフォントが太字になっていることを確認できると思います。
[7567] Re: スクリプトエディタのバグ報告 投稿者:GENKI 投稿日:07/11/09(金) 22:37
> 「ツール」→「オプション」→「エディタ」「フォント設定」のフォント設定で
> エディタのフォントの太字設定が有効になりません。
> (太字が選択されているのにエディタ画面にそれが反映されない)
>
> タブのフォントの太字は有効になります。
私のWindows2000sp4、HSP3.1環境でも同様の現象確認できました。
斜体もだめですね。ちなみにエディタのフォントサイズは変更できました。
バグだと思いますが、XPでも出たり出なかったりするようですね。
sp2の違いとかか、デフォルトのフォントじゃないとか?何が原因なんでしょうね。
スクリプトエディタのオプションまだ開発中のようなので、今後に期待したいところです。
バグトラックへの登録よろしくお願いします。
[7566] Re: スクリプトエディタのバグ報告 投稿者:Kpan 投稿日:07/11/09(金) 20:03 <URL>
試したところ、自分の環境(XP Home)では変化なしです。
そもそもエディタには、タブと違って「スタイル」ってな
項目が存在しないので、そういうものとも思ったり???
[7565] Re: スクリプトエディタのバグ報告 投稿者:矢野 投稿日:07/11/09(金) 08:48
> 「ツール」→「オプション」→「エディタ」「フォント設定」のフォント設定で
> エディタのフォントの太字設定が有効になりません。
> (太字が選択されているのにエディタ画面にそれが反映されない)
> タブのフォントの太字は有効になります。
エディタ、タブともに太字設定を試してみましたが、正しく反映されました。
> WindowsXP HomeEdition で上記の現象を確認しました。
私の基本ソフトもWindowsXP HomeEdition です。
従って、スクリプトエディタのバグではないと思います。
[7557] 質問 投稿者:無題 投稿日:07/11/05(月) 20:12
wait(cnt+1)*5 はどんな命令なのでしょうか。
時間についてなのですが。。。
[7558] Re: 質問 投稿者:Kpan 投稿日:07/11/05(月) 20:42 <URL>
「(cnt+1)*5」の間だけ処理を待て、ということです。
wait命令をヘルプブラウザでチェックしてください。
[7559] Re^2: 質問 投稿者:GENKI 投稿日:07/11/05(月) 22:13
> wait(cnt+1)*5 はどんな命令なのでしょうか。
むむむ…wait命令の後に半角スペースが入ってませんね。
書き写したときに見落としたんでしょうか。初めてだと区切りがどこかすら分からないってよくありますよね…。
命令と引数(パラメータ)は半角スペースかタブで区切らないとダメなのですよ。
cntもヘルプブラウザで見てみるといいですよ。
それと↓ここの「第06章 類似処理の自動反復化1」なんかも参考になりそうです。
http://www.rinku.zaq.ne.jp/ultimate/hsp3/beginner/
[7552] 無題 投稿者:tem 投稿日:07/11/04(日) 13:30
確かにHSP3は使ったことが無くてよく判らないので未だに2.61でやってます。
3にしないとやっぱり駄目なんでしょうかね。
無理そうでしたら自分でソートのルーチンを組んでみます。
回答ありがとうございました。
[7539] 時間の取得について 投稿者:aegis 投稿日:07/11/02(金) 23:50
一定の時間ごとに動作をさせたいのです。
Waitだと1分以内で単純な動作なら問題ないのですが、
3分くらいになってくる・動作が複雑になってくるとPCごとに時間が変わって・・・
そこでAPI等をちまちまと検索をしていたのです。
ですがどこ見ても1分以内な精度の話で・・・。
つまりはSetTimerの時間を20000等にしても問題ないのでしょうか?
何か解決方法がありましたら教えてください。
調べすぎて・・・ねむく・・なって・・zzz
[7545] Re: 時間の取得について 投稿者:GENKI 投稿日:07/11/03(土) 12:10
> 一定の時間ごとに動作をさせたいのです。
gettime関数を使うといいです。
参考になりそうなサンプルです。どうぞ。
http://hspwiki.tm.land.to/?%BE%AE%A5%EF%A5%B6%2F%A5%B9%A5%C8%A5%C3%A5%D7%A5%A6%A5%A9%A5%C3%A5%C1
こういうサイトもありますんで活用するのも手ですよ。
頑張りすぎてあまりに眠いときは無理せず寝てしまったほうがいいこともあります。
頭をすっきりさせるといいアイデア浮かんだり。
[7555] Re^2: 時間の取得について 投稿者:aegis 投稿日:07/11/05(月) 00:11
ありがとうございます!
無い頭を使いすぎたのか風邪で寝込んでおりました・・。
レスして頂いてたら放置は失礼だーと。
お返事だけ・・・。
わざわざ参考サイトまでありがとうございます。
体調治ったら参考にさせて頂きます!
[7549] 質問です 投稿者:tem 投稿日:07/11/04(日) 12:36
配列変数のソートを行うプログラムを組もうと思っているのですが、
sortvalがうまく動きません。
#include "hspda.as"
s.0=89
s.1=22
s.2=-93
s.3=129
s.4=-44
sortval s,1
repeat 5
mes s.cnt
loop
stop
試しにこのようなプログラムを作ってみたところ、
129
89
22
0
0
と表示されてしまいます。マイナスの値はソートできないのでしょうか?
[7551] Re: 質問です 投稿者:soNNaNokaNke-Ne 投稿日:07/11/04(日) 13:21
HSP3.1を使えば大丈夫ですよ^^
[7550] Re: 質問です 投稿者:soNNaNokaNke-Ne 投稿日:07/11/04(日) 13:05
3.1を使ってないからでしょ。
[7546] 画像の透過処理 投稿者:ken 投稿日:07/11/03(土) 13:54
HSP初心者です。とりあえず画像を読み込んでkeyコマンドで動かすことまでできました。そこで画像を透過処理するやり方がマニュアルにのっていないようですが、どのようなコマンドを使えばよいのかおしえてください。
[7547] Re: 画像の透過処理 投稿者:GENKI 投稿日:07/11/03(土) 17:12
> HSP初心者です。とりあえず画像を読み込んでkeyコマンドで動かすこと
> までできました。そこで画像を透過処理するやり方がマニュアルにのっ
> ていないようですが、どのようなコマンドを使えばよいのかおしえてく
> ださい。
ちゃんとgcopyを使っている前提での話ですが、gmodeで2を指定すれば黒(0,0,0)を
透明色とみなしてコピーしてくれます。
↓このアドレスの「第21章 アニメーション2」の項目が参考になると思います。
http://www.rinku.zaq.ne.jp/ultimate/hsp3/beginner/
[7548] Re^2: 画像の透過処理 投稿者:ken 投稿日:07/11/03(土) 20:06
素晴らしいサイトを紹介していただき感謝しています。ありがとうございました。
[7531] メール受信機の件 投稿者:HSP Mania 投稿日:07/10/30(火) 21:24
僕は、メールを送受信するものを作ってみたいのですが、参考URLをのせたり、アドバイスをお願いします!
例「hoty@goo.co.jp」にメール受信
[7532] Re: メール受信機の件 投稿者:Kpan 投稿日:07/10/30(火) 23:11 <URL>
「HSP メール」のようなキーワードで、Google検索してください。
[7523] comからExcelセル情報を取得 投稿者:aki 投稿日:07/10/27(土) 15:07
うすあじさんから、HSPから「Excelのデータを取り出す方法として、一度cvs形式などテキストファイルとして扱えるデータファイルで出力する方法ではなく、HSP3が持つCOM呼び出しを利用して直接xlsファイルにアクセスしてデータを取り出す」方法が以下のように紹介されています。
########################################################
略
; xlsのデータを取得する
myname = "test.xls"
fname = dir_cur+"\\"+myname ; フルパスを作成する
;
newcom xlApp, "Excel.Application"
xlApp("Visible") = 0; Excelウィンドウは非表示
xlApp("DisplayAlerts") = 0; 警告メッセージを表示させない
xlBooks = xlApp("Workbooks") ; Workbooks コレクション取得
xlBooks->"Open" fname ; 指定ファイルを開く
xlBook = xlBooks("Item",myname) ; book取得
略
########################################################
この例題は、
※xlBooks->"Open" fname ; 指定ファイルを開く
との事例になっています。
これを「すでにこのファイルが開いている」場合だったら、どのように書けばよいのでしょうか?
※の部分を次のように変更してみました。
@xlBooks->"Activate" fname
とか、
AxlApp->"appActivate" fname
また、
BxlBook =xlApp("WorkBooks",myname)
CxlBook =xlApp("WorkBooks",fname)
DxlBook =xlBooks("WorkBooks",myname)
ExlBook =xlBooks("WorkBooks",fname)
などと試してみましたが、いずれもエラーでした。
「すでに開いているfnameファイル(ブック)」 を取得するにはどうしたらいいのでしょうか?
[7521] 問題解決しました 投稿者:T.K. 投稿日:07/10/20(土) 19:46
HSP3.1を再インストールすることで
問題解決しました。
[7520] 急に実行できなくなりました 投稿者:T.K. 投稿日:07/10/20(土) 18:02
HPS3.1でゲーム製作にチャレンジしているものです。
先ほど、自宅に着きゲーム製作をしようとしたところ
下記のようなエラーが出て実行できません。
#HSP script preprocessor ver3.1 / onion software 1997-2007(c)
#Use file [hspdef.as]
#Use file [hsp261cmp.as]
#Error:no default parameter in line 10 [hsptmp]
#Fatal error reported.
昨日までは実行できたのですが、何故この様になってしまったのか、分かりません。
どなたか、お助けください。
[7514] (削除) 投稿者:(削除) 投稿日:07/10/13(土) 20:44
(削除されました)
[7519] Re: 数々の愚行申し訳ありませんでした。 投稿者:おにたま(管理人) 投稿日:07/10/14(日) 01:00 <URL>
>nさんへ
こんばんは。このような対話に応じてもらえることを嬉しく思います。
HSPTV!及び、こちらの掲示板は、公共の場として他の人にとって
不快になるような発言や態度を取らないことを、まず注意するようお願いします。
nさんの言いたいこと、主張したいこと、思いついたことなど色々
あるかもしれませんが、それを遠慮なしに書くことが、この場では
雰囲気を悪くしてしまうことに繋がっていると考えています。
最も問題と考えているのは、この点です。
私は、以前よりメールで返信を求めるよう言ってきましたが、
掲示板の記事3つで返信を行なっていることも、根はすべて同じと思います。
HSPTV!掲示板のアクセスと書き込み制限については、解除させて頂きました。
ただ、今後もnさんが書き込みを継続するのであれば、メールでの
連絡先を私の方まで知らせて頂くようお願い致します。
どんな問題がある場合でも、対話をすることができれば、
良い解決方法を探すことができると思います。
あと、過去ログに行かないよう未解決スレッドに返信を行なうことは、ご遠慮下さい。
最新のスレッドが流されてしまうことになりますし、
少なくとも、スレッドを立てた人と関係ない人がどれを残すか決める
必要はないと考えています。
他の利用者の皆様にも、大変ご迷惑をお掛けしました。
今後とも、HSPTV!掲示板、HSP3掲示板共々宜しくお願い致します。
[7518] Re^2: 数々の愚行申し訳ありませんでした。 投稿者:ANTARES 投稿日:07/10/14(日) 00:37 <URL>
>赤ちゃんをあやすように
>ここは刑務所だから・・・。
引用だけにとどめておきますので、何が言いたいか、
考えてみてください。それがわからない限り、……。
[7483] 無題 投稿者:ウーパールーパー 投稿日:07/10/11(木) 15:01
TITLE "(株)タイミングに入社してみよう!!"
*hazime
cls
color 255,255,255:boxf
color
repeat 3
line 100+cnt*200,470,100+cnt*200,430
line 150+cnt*200,470,150+cnt*200,430
line 100+cnt*200,430,150+cnt*200,430
line 125+cnt*200,430,125+cnt*200,400
circle 100+cnt*200,350,150+cnt*200,400,0
line 100+cnt*200,415,140+cnt*200,415
loop
a=rnd(100)+25
c=0
repeat
c=c+1
redraw 0
color 255,255,255:boxf
color
repeat 3
line 100+cnt*200,470,100+cnt*200,430
line 150+cnt*200,470,150+cnt*200,430
line 100+cnt*200,430,150+cnt*200,430
line 125+cnt*200,430,125+cnt*200,400
circle 100+cnt*200,350,150+cnt*200,400,0
line 100+cnt*200,415,140+cnt*200,415
loop
if cnt=20:goto *tugi
await a
redraw 1
loop
*tugi
c=0
repeat
c=c+1
redraw 0
color 255,255,255:boxf
color
pos 120,365:mes "H"
repeat 3
line 100+cnt*200,470,100+cnt*200,430
line 150+cnt*200,470,150+cnt*200,430
line 100+cnt*200,430,150+cnt*200,430
line 125+cnt*200,430,125+cnt*200,400
circle 100+cnt*200,350,150+cnt*200,400,0
line 100+cnt*200,415,140+cnt*200,415
loop
if cnt=20:goto *zibun
await a
redraw 1
loop
*zibun
c=0
repeat
c=c+1
redraw 0
color 255,255,255:boxf
color
pos 100,100:mes cnt
pos 120,365:mes "H"
pos 320,365:mes "S"
repeat 3
line 100+cnt*200,470,100+cnt*200,430
line 150+cnt*200,470,150+cnt*200,430
line 100+cnt*200,430,150+cnt*200,430
line 125+cnt*200,430,125+cnt*200,400
circle 100+cnt*200,350,150+cnt*200,400,0
line 100+cnt*200,415,140+cnt*200,415
loop
pos 500,450
button goto "「P」と言う",*keka
if cnt=30:po=3:goto *sai
await a
redraw 1
loop
*keka
color
pos 520,365
color 0,0,0
mes "P"
if cnt<21:if cnt>19:po=0:goto *sai
if cnt<22:if cnt>18:po=1:goto *sai
if cnt<23:if cnt>17:po=2:goto *sai
po=3
goto *sai
*sai
color
pos 120,365:mes "H"
pos 320,365:mes "S"
pos 520,365:mes "P"
pos 100,100
color
if po=0:mes "正社員Sクラス合格"
if po=1:mes "正社員上位合格"
if po=2:mes "正社員普通合格"
if po=3:mes "不合格"
wait 300
goto *hazime
が正常に作動しません
どうにかしてください
[7484] Re: 無題 投稿者:たもつ 投稿日:07/10/11(木) 16:52
ウーパールーパーさんも見れないんですか?
ぼくもなんです。どうしてだか知ってたらおしえてください。
あと、スクリプトを読んだけど、
どううごけばせいじょうなのか分かりません。
[7487] Re^2: 無題 投稿者:ウーパールーパー 投稿日:07/10/11(木) 19:31
> ウーパールーパーさんも見れないんですか?
> ぼくもなんです。どうしてだか知ってたらおしえてください。
>
> あと、スクリプトを読んだけど、
> どううごけばせいじょうなのか分かりません。
自分頭にPとか書かれないことと
社員に合格したよ〜って文が書かれないこと
です
被害者同士がんばろう
[7489] Re^3: 無題 投稿者:naznyark 投稿日:07/10/12(金) 02:42
以下の事項を守ってプログラムを書き直せば
問題のいくつかは自然に解決するでしょう。
・goto を使わない(ボタンの場合でも)。
・(ループごとの消去をしないなら)ループ中でオブジェクトを配置しない。
・同じ(ような)処理はサブルーチンやユーザー定義命令・関数にまとめる。
[7503] Re^4: 無題 投稿者:ウーパールーパー 投稿日:07/10/13(土) 10:12
> 以下の事項を守ってプログラムを書き直せば
> 問題のいくつかは自然に解決するでしょう。
>
> ・goto を使わない(ボタンの場合でも)。
> ・(ループごとの消去をしないなら)ループ中でオブジェクトを配置しない。
> ・同じ(ような)処理はサブルーチンやユーザー定義命令・関数にまとめる。
つまりどうゆうことですか?
[7515] Re^5: 無題 投稿者:n 投稿日:07/10/13(土) 21:10
> つまりどうゆうことですか?
まず一番最初のスクリプトの共通部分は次の範囲なのが分かります。
<pre>
repeat 3
line 100+cnt*200,470,100+cnt*200,430
line 150+cnt*200,470,150+cnt*200,430
line 100+cnt*200,430,150+cnt*200,430
line 125+cnt*200,430,125+cnt*200,400
circle 100+cnt*200,350,150+cnt*200,400,0
line 100+cnt*200,415,140+cnt*200,415
loop
</pre>
この部分を一番最後に
<pre>
*draw_character
; 共通していたキャラクター描画処理をサブルーチンとしてまとめる
repeat 3
line 100+cnt*200,470,100+cnt*200,430
line 150+cnt*200,470,150+cnt*200,430
line 100+cnt*200,430,150+cnt*200,430
line 125+cnt*200,430,125+cnt*200,400
circle 100+cnt*200,350,150+cnt*200,400,0
line 100+cnt*200,415,140+cnt*200,415
loop
return
</pre>
のように追加します。そしてもともとあったrepeat〜loopを
<pre>
gosub *draw_character
</pre>
のように直します。こうすればスクリプトの量がぐっと減らせます。
次に
>自分頭にPとか書かれないことと
これは次の部分のことだと分かります。
<pre>
*zibun
c=0
repeat
c=c+1
redraw 0
color 255,255,255:boxf
color
pos 100,100:mes cnt
pos 120,365:mes "H"
pos 320,365:mes "S"
gosub *draw_character
pos 500,450
button goto "「P」と言う",*keka
if cnt=30:po=3:goto *sai
await a
redraw 1
loop
*keka
color
pos 520,365
color 0,0,0
mes "P"
if cnt<21:if cnt>19:po=0:goto *sai
if cnt<22:if cnt>18:po=1:goto *sai
if cnt<23:if cnt>17:po=2:goto *sai
po=3
goto *sai
</pre>
そしてこの部分をもっと単純に書くと
<pre>
*zibun
repeat
redraw 0
button goto "「P」と言う",*keka
if cnt=30:po=3:goto *sai
await a
redraw 1
loop
*keka
mes "P"
goto *sai
</pre>
となります。
<pre>
mes "P"
</pre>
でPが表示されないのは
ボタンをクリックしたときredraw 1の前にあるawait aのところで*kekaにジャンプするので
redraw 1が実行されないからです。
ためしに*kekaの次にredraw 1を入れれば表示されます。
まだまだ問題点はあるけど一度に全部言うと頭もいっぱいになっちゃうから
他の問題は明日やろうね。
[7516] Re^6: 無題 投稿者:n 投稿日:07/10/13(土) 21:12
ここって<pre></pre>が使えないんですね・・・でも贅沢はいえないです。ここは刑務所だから・・・。
[7460] HSPTV!上のHSP掲示板について 投稿者:おにたま(管理人) 投稿日:07/10/07(日) 16:52 <URL>
いつも掲示板のご利用ありがとうございます。
HSPTV!サイトで設置している掲示板において、一部の人の書き込みにより
正常に運用を続けることが困難と判断し、特定のホストからの閲覧と書き込みを
制限させて頂きました。
これにより、当事者と関係ないユーザーが正しく閲覧できなくなる恐れがあります。
影響を受ける方には、大変不自由とご迷惑をお掛けすることになり申し訳ありません。
今後の運用については、経過を見て判断したいと考えています。
以上、今後とも宜しくお願い致します。
[7505] Re: HSPTV!上のHSP掲示板について 投稿者:被害者2 投稿日:07/10/13(土) 11:06
> 正常に運用を続けることが困難と判断し、特定のホストからの閲覧と書き込みを
> 制限させて頂きました。
書き込みの制限は不要な書き込みを防ぐためだと分かるけど、閲覧まで禁止にした理由の説明を求めます。
[7506] Re^2: HSPTV!上のHSP掲示板について 投稿者:被害者2 投稿日:07/10/13(土) 11:08
納得のいく説明が得られない場合は現在のプロバイダを解約して別のプロバイダと契約を結びます。
その際にかかる費用は負担していただけるんでしょうか?
[7475] Re: HSPTV!上のHSP掲示板について 投稿者:ゆうたろう 投稿日:07/10/09(火) 20:43
HSPTVが見れないよ〜><なんでですか〜?
[7481] Re^2: HSPTV!上のHSP掲示板について 投稿者:さだくに 投稿日:07/10/11(木) 06:27
俺もみれねぇ!!!!!
[7482] Re^3: HSPTV!上のHSP掲示板について 投稿者:ウーパールーパー 投稿日:07/10/11(木) 14:59
> 俺もみれねぇ!!!!!
同類です
[7507] Re^4: HSPTV!上のHSP掲示板について 投稿者:shin 投稿日:07/10/13(土) 11:12
> > 俺もみれねぇ!!!!!
> 同類です
お前がnなんだろ。さっさと管理人に謝れよ。お前のせいでTVの掲示板が
見れなくなったんだよ。
[7485] Re^4: HSPTV!上のHSP掲示板について 投稿者:たもつ 投稿日:07/10/11(木) 16:53
ウーパールーパーさんも見れないんですか?
ぼくもなんです。どうしてだか知ってたらおしえてください。
あと、スクリプトを読んだけど、
どううごけばせいじょうなのか分かりません。
[7486] Re^5: HSPTV!上のHSP掲示板について 投稿者:被害者 投稿日:07/10/11(木) 17:25
> ウーパールーパーさんも見れないんですか?
> ぼくもなんです。どうしてだか知ってたらおしえてください。
ウーパールーパーとかnとかいうガキが掲示板を荒らしたからそいつらのIPホストに対して閲覧拒否を施した。
それによってウーパールーパーとかnと同じプロバイダのHSPユーザーも閲覧できなくなってしまったというわけ。
そんな俺も被害者。
管理者にさっさと謝って閲覧できるようにしてくれ。
[7493] Re^6: HSPTV!上のHSP掲示板について 投稿者:えり 投稿日:07/10/12(金) 17:15
いつまでアク禁なのか知ってる人いる?っていうか荒らした人だけアク禁にすればいいのになんで関係ない人までアク禁にするの?
[7494] Re^7: HSPTV!上のHSP掲示板について 投稿者:Kpan 投稿日:07/10/12(金) 20:03
>荒らした人だけアク禁にすれば
IPアドレスは変動するので難しいです。特に今回は荒らしを
行った人物のIPアドレスが運悪く
「(任意の英数字).ppp.dion.ne.jp」
という単純な形式なので、全DIONユーザーに適用せざるを
得ない状況になります。
[7496] Re^8: HSPTV!上のHSP掲示板について 投稿者:おゆき 投稿日:07/10/12(金) 23:47
たしかにTVの掲示板荒れてたけど
スレッドで分けられてるンだからアク禁までは
しなくてもいいのにと思いました。
簡単な質問やそれに対する不適切な発言は
今がコンテスト期間だからだと思います。
うまくまとめれないけど、つまりコンテスト期間中ぐらい
おおめにみてやってほしいということです
[7500] Re^9: HSPTV!上のHSP掲示板について 投稿者:初心者 投稿日:07/10/13(土) 08:02
んさんってちゃんと質問に答えてたようにぼくは思います。んさんって何人
かいたんじゃないの?
[7501] Re^10: HSPTV!上のHSP掲示板について 投稿者:初心者 投稿日:07/10/13(土) 08:03
ごめんなさい。んさんはnさんの間違いです。
おにたまさんは大人なんだからだいめに見てほしいです。
[7502] Re^11: HSPTV!上のHSP掲示板について 投稿者:GH 投稿日:07/10/13(土) 09:00
> ごめんなさい。んさんはnさんの間違いです。
>
> おにたまさんは大人なんだからだいめに見てほしいです。
だいめ って大目(おおめ)の間違いだよな わざとだよね・・・
アク禁は仕方ねーんじゃないかな
連続投稿禁止にしても連続投稿は可能なのよねん
IPは固定IPにしてない限り毎回変わりますしアク禁になりませんね。
それでホストでアク禁したってところでしょ?
後はNo.7494 さんが言ってるように
dionのユーザーは仕方なく禁止ってことになってるわけだ
明らかに適切な処置だから文句ばかり言ってないで
認めたらどうでしょうかね
後No.7499 さんへ
名前なんてのはいつでも変えれるし結局ホストで対策しろっていってるんですよね?ならこれでいいじゃないですか(笑)
>どう見ても過疎化していて人こないじゃない
あなたの偏見です。
書き込みが少ないのは確かにそうだが人は来ている
質問すればそれに対する返信も来る
普通に使うには何不自由ない掲示板だと思うけど。
[7504] Re^12: HSPTV!上のHSP掲示板について 投稿者:被害者2 投稿日:07/10/13(土) 11:04
プロバイダが違ってTV利用できる人には他人事でしょうが、実際荒らしていない無関係の人の気持ちなんてあなたに分かるわけないでしょう。早くTVを見れるようにしてください。書き込み禁止だけすればいいじゃん。なんで閲覧禁止にするのか意味わかんねTVの管理人。
[7508] Re^13: HSPTV!上のHSP掲示板について 投稿者:おにたま(管理人) 投稿日:07/10/13(土) 11:35 <URL>
アクセスの制限により不自由をおかけしている皆様には、
大変ご迷惑をおかけしています。
こちらの掲示板は、補助的な役割で設置されているものですが、
HSPTV!の掲示板と同様に、HSP3の記事を投稿して頂ければと思います。
アクセス制限の是非や、解除については管理者の判断で
行なっていることですので、この場で話し合うことは考えていません。
ご意見や要望などは、メール(onitama@onionsoft.net)にて
お送り頂くようお願い致します。
[7509] Re^14: HSPTV!上のHSP掲示板について 投稿者: