商業流通でなければフリーで利用可能な
ゲームエンジンNScripterについて語るスレです。
・本家
ttp://www.nscripter.com/
・うpろだ
ttp://nscuploader.wkeya.com/
探検
NScripter Ver.19.00
■ このスレッドは過去ログ倉庫に格納されています
2014/01/30(木) 22:41:08.23ID:BRbRh5DC
2014/02/16(日) 17:27:04.17ID:l1V8SG0t
今までどおりONScripter利用者は犯罪者として糾弾していきます
2014/02/18(火) 18:28:50.94ID:tggSYwc+
といった荒らしの余地すら生むから話題そのものが非推奨なのよ、最初に質問した人分かってくれただろうか
2014/02/19(水) 12:51:00.31ID:nIePBwFu
ONScスレが立ってから、ここの住人に絡みたいだけの人の仕業だったと判明されそうな流れっぽいね。
でも、それがそのまま未だにゲ製板にONScスレが立たない理由になっていると思うよ。
でも、それがそのまま未だにゲ製板にONScスレが立たない理由になっていると思うよ。
2014/02/19(水) 15:23:54.40ID:ypdkzDtZ
テンプレでONScripter利用者は犯罪者だと認定しているので
このスレそのものがONScripterを糾弾する含みがある
このスレそのものがONScripterを糾弾する含みがある
2014/02/19(水) 15:30:03.17ID:pBRaMd6Z
キ○ガイかかわると碌なことが無い
2014/02/20(木) 08:12:30.62ID:gvfSVXmu
NScを使わない限りこのスレに用は無い
2014/02/25(火) 02:28:19.95ID:8ZT2v5Qs
isdownとかcheckkeyみたいに
軽快に右クリックの押下状態を取得する方法ってないんだっけ?
軽快に右クリックの押下状態を取得する方法ってないんだっけ?
2014/02/25(火) 19:11:28.63ID:fR77jPUl
ろだにそんなプラグインがあがってたはず
2014/02/25(火) 21:55:41.88ID:5vAvY+R+
luaでよければNSGetClick()があるね
例としてはこんな感じで
--system.lua
rbutton = 0
function NSCOM_isrdown()
local l,r,w,ld,rd = NSGetClick()
if rd then rbutton = 1 end
if r then rbutton = 0 end
NSSetIntValue(NSPopIntRef(),rbutton)
end
例としてはこんな感じで
--system.lua
rbutton = 0
function NSCOM_isrdown()
local l,r,w,ld,rd = NSGetClick()
if rd then rbutton = 1 end
if r then rbutton = 0 end
NSSetIntValue(NSPopIntRef(),rbutton)
end
2014/02/25(火) 21:57:06.48ID:5vAvY+R+
>>44の続き
;00.txt
;右クリック中は「0」を出力し続け、離すと改行して止まり、左クリックすると終了する。
*define
luasub isrdown
;isrdown %var
;右ボタン押下中なら1、離してたら0を返す
game
*start
*loop
isdown %0
if %0=1 end
isrdown %1
if %1=1 gosub *onrclick
wait 2
goto *loop
*onrclick
*onrclick_loop
isrdown %1
if %1=1 puttext "0/":wait 2:goto *onrclick_loop
puttext ""
return
;00.txt
;右クリック中は「0」を出力し続け、離すと改行して止まり、左クリックすると終了する。
*define
luasub isrdown
;isrdown %var
;右ボタン押下中なら1、離してたら0を返す
game
*start
*loop
isdown %0
if %0=1 end
isrdown %1
if %1=1 gosub *onrclick
wait 2
goto *loop
*onrclick
*onrclick_loop
isrdown %1
if %1=1 puttext "0/":wait 2:goto *onrclick_loop
puttext ""
return
2014/02/25(火) 23:17:39.76ID:8ZT2v5Qs
luaで44の参考にやったらできました!!
使ってみたらいい感じ。
そうだよこの早さが欲しかったんだよぉぉぉおおお(´;ω;`)
ちょいとばかしlua勉強するわ。
使ってみたらいい感じ。
そうだよこの早さが欲しかったんだよぉぉぉおおお(´;ω;`)
ちょいとばかしlua勉強するわ。
2014/02/28(金) 00:28:18.89ID:KpBvrv2e
Luaは部分的に使うだけでもいいから凄く便利だよ
48名前は開発中のものです。
2014/03/07(金) 20:20:52.95ID:DmPgneNa NS2の質問はあり?
2014/03/09(日) 22:37:35.47ID:cQe0EyLR
ものによるんじゃね、どうせ勢いもあんまりないし書くだけ書いてみなされ
50名前は開発中のものです。
2014/03/10(月) 14:23:40.66ID:G1yKz/y2 NS2の質問で、質問は2つなんだけど、
・立ち絵やその他スプライトを拡大縮小する事は出来るのか?
・立ち絵のアニメーションはできるのか?
最初のはリファレンスに命令が記載されてないけど
これって拡大縮小はできないって事なのかな
二番目はspの引数にanimtimeを設定してセルに複数の画像を記述すれば
アニメーションというか、簡単な画像の切り替えは出来るんだけど
やりたいのはそういうのじゃなくて、例えば立ち絵を画面右側から左側に
スーッと移動させるとか、画面上から下になんかのスプライト画像を落とすとか
そういうアニメーションのやり方が分からない
・立ち絵やその他スプライトを拡大縮小する事は出来るのか?
・立ち絵のアニメーションはできるのか?
最初のはリファレンスに命令が記載されてないけど
これって拡大縮小はできないって事なのかな
二番目はspの引数にanimtimeを設定してセルに複数の画像を記述すれば
アニメーションというか、簡単な画像の切り替えは出来るんだけど
やりたいのはそういうのじゃなくて、例えば立ち絵を画面右側から左側に
スーッと移動させるとか、画面上から下になんかのスプライト画像を落とすとか
そういうアニメーションのやり方が分からない
2014/03/10(月) 21:01:41.43ID:8VIsfxv+
ここ数ヶ月全く触ってないけど、
自分はNS2で拡大縮小アニメーションや移動アニメーションなんかを弄ってました。
RESETTIMER と GETTIMER を利用して指定したミリ秒での操作を。
それと do と loop を利用して、その秒数の間だけ SPMOVELT を使ってアニメーションを行わせる、みたいな感じです。
自分はNS2で拡大縮小アニメーションや移動アニメーションなんかを弄ってました。
RESETTIMER と GETTIMER を利用して指定したミリ秒での操作を。
それと do と loop を利用して、その秒数の間だけ SPMOVELT を使ってアニメーションを行わせる、みたいな感じです。
52名前は開発中のものです。
2014/03/10(月) 21:11:53.42ID:G1yKz/y2 >>51
レスありがとうございます。
resettimerとgettimerは拡大縮小の関係で使うという事でしょうか?
ちょっと全く取っ掛かりが分からなくて・・・。
できればサブルーチンの例なんかご教授いただけると分かりやすのですが・・・
ループさせてspmoveのx値を1F単位で動かすのは考えて
実際にやってみたのですが、上手く行きませんでした
レスありがとうございます。
resettimerとgettimerは拡大縮小の関係で使うという事でしょうか?
ちょっと全く取っ掛かりが分からなくて・・・。
できればサブルーチンの例なんかご教授いただけると分かりやすのですが・・・
ループさせてspmoveのx値を1F単位で動かすのは考えて
実際にやってみたのですが、上手く行きませんでした
53名前は開発中のものです。
2014/03/10(月) 21:13:01.04ID:G1yKz/y2 作ったループとspmoveを組合わせた処理は
<01.txtに>
defsub spmove_loop,"S" ;演出 - 立ち絵動かす用(左から右に移動)
@spmove_loop
param %name
;カウンタクリア
%cnt = 0
;ループ@▼開始
@spmove_loop2
if %cnt < 1000 then
spmove %name,0+%cnt,0
%cnt = %cnt+1
;デバッグ
;cprint %cnt
;ループ@▲終わり
goto @spmove_loop2
else
spdelete %name
return
<01.txtに>
defsub spmove_loop,"S" ;演出 - 立ち絵動かす用(左から右に移動)
@spmove_loop
param %name
;カウンタクリア
%cnt = 0
;ループ@▼開始
@spmove_loop2
if %cnt < 1000 then
spmove %name,0+%cnt,0
%cnt = %cnt+1
;デバッグ
;cprint %cnt
;ループ@▲終わり
goto @spmove_loop2
else
spdelete %name
return
54名前は開発中のものです。
2014/03/10(月) 21:15:37.95ID:G1yKz/y2 <02.txtに>
spmove_loop "CHR1" ;ループして動かすテスト
として、中央の立ち絵を左から右にスーッと動かす
処理を実現したかったのですが、なぜか立ち絵が消えてしまいます
spmove_loopのcnt変数内はcprintで確認して
任意の数字が代入されている事は確認できていますが
スプライト自体がどう動いているのかよく分かりません
画面的にはspmove_loopを実行した途端立ち絵が消えてしまうので
ミスの指摘ややり方などご教授お願いします
spmove_loop "CHR1" ;ループして動かすテスト
として、中央の立ち絵を左から右にスーッと動かす
処理を実現したかったのですが、なぜか立ち絵が消えてしまいます
spmove_loopのcnt変数内はcprintで確認して
任意の数字が代入されている事は確認できていますが
スプライト自体がどう動いているのかよく分かりません
画面的にはspmove_loopを実行した途端立ち絵が消えてしまうので
ミスの指摘ややり方などご教授お願いします
2014/03/10(月) 22:14:13.31ID:8VIsfxv+
今すぐの動作は確認してないけど、自分が実際に使っていたものをちょっと弄ってはっつけて見ます
lceffect "キャラクタ名",1
とか
lceffect "キャラクタ名",2
とかで動くと思います
lceffect が気軽に呼び出して使うメインのサブルーチン。パラメータが多く見えるのは削り残しです。
lcanimation は、 lceffect の中でのみ呼ばれるもっと細かい挙動をつかさどるサブルーチン (シナリオ上からは呼ばない)
lceffect "キャラクタ名",1
とか
lceffect "キャラクタ名",2
とかで動くと思います
lceffect が気軽に呼び出して使うメインのサブルーチン。パラメータが多く見えるのは削り残しです。
lcanimation は、 lceffect の中でのみ呼ばれるもっと細かい挙動をつかさどるサブルーチン (シナリオ上からは呼ばない)
2014/03/10(月) 22:16:14.60ID:8VIsfxv+
; ニックネーム,エフェクトタイプ,画像中心からのX位置,画像中心からのY位置,サイズ
@lceffect
; CTRL押されていれば処理しない
if getskip() == 1 or 0<>GETKEY("CTRL") then
return
end if
param %nick,%type,%xpos,%ypos,%size
if %nick == #NIL or %nick == "" then OKBOX "立ち絵命令文のニックネームが不正です" , "lc命令文エラー"
%spname = "character:" + %nick ; ★スプライトセット系。各自対応を
getspinfo %spname , %spinfo
if ISDEF(%spinfo.cx) == 1 and ISDEF(%spinfo.cy) == 1then ; ほしい情報がちゃんと定義されてる?(存在する?)
if %type == 4 then
lcanimation %spname,(%spinfo.cx+5),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx-7),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx+10),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx-7),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx+5),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx),%spinfo.cy,0,60
elseif %type == 5 then
lcanimation %spname,%spinfo.cx,%spinfo.cy-20,0,40
lcanimation %spname,%spinfo.cx,%spinfo.cy-40,0,40
lcanimation %spname,%spinfo.cx,%spinfo.cy-30,0,40
lcanimation %spname,%spinfo.cx,%spinfo.cy,0,30
end if
end if
end if
return
@lceffect
; CTRL押されていれば処理しない
if getskip() == 1 or 0<>GETKEY("CTRL") then
return
end if
param %nick,%type,%xpos,%ypos,%size
if %nick == #NIL or %nick == "" then OKBOX "立ち絵命令文のニックネームが不正です" , "lc命令文エラー"
%spname = "character:" + %nick ; ★スプライトセット系。各自対応を
getspinfo %spname , %spinfo
if ISDEF(%spinfo.cx) == 1 and ISDEF(%spinfo.cy) == 1then ; ほしい情報がちゃんと定義されてる?(存在する?)
if %type == 4 then
lcanimation %spname,(%spinfo.cx+5),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx-7),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx+10),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx-7),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx+5),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx),%spinfo.cy,0,60
elseif %type == 5 then
lcanimation %spname,%spinfo.cx,%spinfo.cy-20,0,40
lcanimation %spname,%spinfo.cx,%spinfo.cy-40,0,40
lcanimation %spname,%spinfo.cx,%spinfo.cy-30,0,40
lcanimation %spname,%spinfo.cx,%spinfo.cy,0,30
end if
end if
end if
return
2014/03/10(月) 22:17:24.88ID:8VIsfxv+
; 立ち絵を動かすサブルーチンで呼ばれるサブルーチン。弄るのは・・・X,Y座標関係と傾きのみ?
@lcanimation
param %spname,%to.cx,%to.cy,%to.rot,%time
; SP "window:linebreak",{name={%ld1 , %ld2 , %ld1 , %ld2 , %ld1},xs=%size,ys=%size,cx=(%send_cx+%xpos),cy=(%send_cy+%ypos),animtime=100,animtype="round"}
GETSPINFO %spname,%from
; CPRINT %from.cx
;-----------------
; %from から %to の値に %time掛けて 移行させる処理
;------------------
RESETTIMER ;---- 時間処理開始
do
%nowtime=GETTIMER() ;---- 経過時間取得
if %nowtime > %time then
exit ;---- 経過時間が超過したらloopを抜ける
end if
;---- 全体の何割経過したかを %parcentへ算出
%parcent = %nowtime / %time
%now.cx = %from.cx - ((%from.cx - %to.cx) * %parcent)
%now.cy = %from.cy - ((%from.cy - %to.cy) * %parcent)
%now.rot = %from.rot - ((%from.rot - %to.rot) * %parcent)
; CPRINT "%parcent:"+STR(%parcent)+" / %now.cx:"+STR(%now.cx)+" / %now.cy:"+STR(%now.cy)+" / %now.rot:"+STR(%now.rot)
SPMOVELT %spname,%now.cx,%now.cy, %from.xs , %from.ys , %now.rot , 255
print #C
loop
; 【※】loop抜け@一番最後の処理で最終目標の to 値で表示させる。 cx,cyだけは中心位置が変更しないので、そもそもtoが存在しない
SPMOVELT %spname, %to.cx , %to.cy , %from.xs , %from.ys , %from.rot , 255
print #C
return
@lcanimation
param %spname,%to.cx,%to.cy,%to.rot,%time
; SP "window:linebreak",{name={%ld1 , %ld2 , %ld1 , %ld2 , %ld1},xs=%size,ys=%size,cx=(%send_cx+%xpos),cy=(%send_cy+%ypos),animtime=100,animtype="round"}
GETSPINFO %spname,%from
; CPRINT %from.cx
;-----------------
; %from から %to の値に %time掛けて 移行させる処理
;------------------
RESETTIMER ;---- 時間処理開始
do
%nowtime=GETTIMER() ;---- 経過時間取得
if %nowtime > %time then
exit ;---- 経過時間が超過したらloopを抜ける
end if
;---- 全体の何割経過したかを %parcentへ算出
%parcent = %nowtime / %time
%now.cx = %from.cx - ((%from.cx - %to.cx) * %parcent)
%now.cy = %from.cy - ((%from.cy - %to.cy) * %parcent)
%now.rot = %from.rot - ((%from.rot - %to.rot) * %parcent)
; CPRINT "%parcent:"+STR(%parcent)+" / %now.cx:"+STR(%now.cx)+" / %now.cy:"+STR(%now.cy)+" / %now.rot:"+STR(%now.rot)
SPMOVELT %spname,%now.cx,%now.cy, %from.xs , %from.ys , %now.rot , 255
print #C
loop
; 【※】loop抜け@一番最後の処理で最終目標の to 値で表示させる。 cx,cyだけは中心位置が変更しないので、そもそもtoが存在しない
SPMOVELT %spname, %to.cx , %to.cy , %from.xs , %from.ys , %from.rot , 255
print #C
return
58名前は開発中のものです。
2014/03/10(月) 22:19:53.73ID:G1yKz/y2 レスありがとうございます。
取り急ぎお礼レスだけ書き込ませて頂きます。
これからよく内容読んで解析してみます
取り急ぎお礼レスだけ書き込ませて頂きます。
これからよく内容読んで解析してみます
2014/03/10(月) 22:22:16.10ID:8VIsfxv+
60名前は開発中のものです。
2014/03/10(月) 22:26:32.41ID:G1yKz/y22014/03/10(月) 22:28:46.54ID:7uyX+dsP
>>50
NScr2は触ってないので的外れだったらごめん
質問1
spにxsとxyに実数で指定すると拡大縮小します。
ただし、座標指定をスプライトの中心座標のcx,cyで指定しないと無効化されます
例:
sp "CHR1",{name="test.png",cx=100,cy=100,xs=2.4,ys=0.5}
横2.4倍、縦0.5倍で表示されます
sp "CHR1",{name="test.png",x=100,y=100,xs=2.4,ys=0.5,rot=45}
座標をx,yで指定しているので、xs,ys,rotの指定は無視されます
質問2
print文がないので画面が更新されていないだけだと思います
画面が更新されないまま、ループをぬけてspdeleteでスプライトが消えてるのではないかと
あとループ処理中はなるべくsleepかwait系の命令をはさんでおいた方が良いかと思います
NScr2は触ってないので的外れだったらごめん
質問1
spにxsとxyに実数で指定すると拡大縮小します。
ただし、座標指定をスプライトの中心座標のcx,cyで指定しないと無効化されます
例:
sp "CHR1",{name="test.png",cx=100,cy=100,xs=2.4,ys=0.5}
横2.4倍、縦0.5倍で表示されます
sp "CHR1",{name="test.png",x=100,y=100,xs=2.4,ys=0.5,rot=45}
座標をx,yで指定しているので、xs,ys,rotの指定は無視されます
質問2
print文がないので画面が更新されていないだけだと思います
画面が更新されないまま、ループをぬけてspdeleteでスプライトが消えてるのではないかと
あとループ処理中はなるべくsleepかwait系の命令をはさんでおいた方が良いかと思います
62名前は開発中のものです。
2014/03/10(月) 22:40:34.61ID:G1yKz/y2 >>61
xsとかysは知りませんでした・・・
basic命令テキストでグレップしたら確かに見つかりました
sはscaleのsですかね
今までx,y,zしか使った事ないので、cx、cyも知りませんでした。
cxやxsの詳しい説明がNS2はリファレンスに記載ないので(だから現状NS2はβ版らしいですが)
>あとループ処理中はなるべくsleepかwait系の命令をはさんでおいた方が良いかと思います
なるほど
これは多分、waitしないと1F枚に実行されて速度が早過ぎる、
処理が重くなるあたりの理由っぽいですね
NS2はまだ個人ブログなどでの情報も少なく、手がかりがほぼ公式リファレンスだけで、
初心者の私には少々手厳しかったので非常に参考になりました。
ありがとうございました
xsとかysは知りませんでした・・・
basic命令テキストでグレップしたら確かに見つかりました
sはscaleのsですかね
今までx,y,zしか使った事ないので、cx、cyも知りませんでした。
cxやxsの詳しい説明がNS2はリファレンスに記載ないので(だから現状NS2はβ版らしいですが)
>あとループ処理中はなるべくsleepかwait系の命令をはさんでおいた方が良いかと思います
なるほど
これは多分、waitしないと1F枚に実行されて速度が早過ぎる、
処理が重くなるあたりの理由っぽいですね
NS2はまだ個人ブログなどでの情報も少なく、手がかりがほぼ公式リファレンスだけで、
初心者の私には少々手厳しかったので非常に参考になりました。
ありがとうございました
2014/03/10(月) 22:51:06.07ID:8VIsfxv+
・立ち絵である某さんを、1000ミリ秒(1秒)かけて、x100から x200へ移動させたい
・まずは RESETTIMER さんと GETTIMER さんの力を借りる
1000ミリ秒経過するまでは、ずっとループし続ける枠組みを作ります
; ▼ここから
RESETTIMER
do
%nowtime=GETTIMER() ; loopでやり直されるたびに何秒経ったか常に数える
if %nowtime > %time then ; パラメータで送られた 1000ミリ秒 になれば、loopを抜ける。逆に言えば時間になるまでは繰り返す
exit ; 時間になるまでこのifの中は処理されません。 exit されません。
end if
; このあたりに、スプライトを描画させる処理を組む
; 例えば、500ミリ秒経過していれば、 1000ミリ秒でx100からx200への移動を行う過程で、
; x150の座標を描画してあげればOK
; 200ミリ秒経過していれば、200と100の移動距離の差である 100 を、 1000ミリ秒 ÷ 200ミリ秒 = 1/5 もとい 20% にする
; 最初の位置 x100 + 移動距離 100 の 20% を足す → x120で某さん描画 みたいな感じ。
loop ; doに戻れ (exit でのみ loppをすり抜けられる)
; ここに、最終描画 (x200へ移動しきった) を行う処理。
; ここに達しているという事は、 地獄の 1000ミリ秒 loop 工程を無事クリアしたという事
; ▲ここまで
自分が >>57 で書いたのは、多分こんな感じになっています。
sleepとかwait入れてないや・・・(;゚ω゚) 大丈夫かしら
・まずは RESETTIMER さんと GETTIMER さんの力を借りる
1000ミリ秒経過するまでは、ずっとループし続ける枠組みを作ります
; ▼ここから
RESETTIMER
do
%nowtime=GETTIMER() ; loopでやり直されるたびに何秒経ったか常に数える
if %nowtime > %time then ; パラメータで送られた 1000ミリ秒 になれば、loopを抜ける。逆に言えば時間になるまでは繰り返す
exit ; 時間になるまでこのifの中は処理されません。 exit されません。
end if
; このあたりに、スプライトを描画させる処理を組む
; 例えば、500ミリ秒経過していれば、 1000ミリ秒でx100からx200への移動を行う過程で、
; x150の座標を描画してあげればOK
; 200ミリ秒経過していれば、200と100の移動距離の差である 100 を、 1000ミリ秒 ÷ 200ミリ秒 = 1/5 もとい 20% にする
; 最初の位置 x100 + 移動距離 100 の 20% を足す → x120で某さん描画 みたいな感じ。
loop ; doに戻れ (exit でのみ loppをすり抜けられる)
; ここに、最終描画 (x200へ移動しきった) を行う処理。
; ここに達しているという事は、 地獄の 1000ミリ秒 loop 工程を無事クリアしたという事
; ▲ここまで
自分が >>57 で書いたのは、多分こんな感じになっています。
sleepとかwait入れてないや・・・(;゚ω゚) 大丈夫かしら
64名前は開発中のものです。
2014/03/10(月) 23:05:08.31ID:G1yKz/y22014/03/11(火) 01:47:11.37ID:Zdy3SZTI
メール欄にsageって入力してな(´・ω・`)
2014/03/11(火) 16:35:57.52ID:5J22cZ7i
>>65
すみません、忘れていました・・・。
あともう一つ、教えていただきたいというかお聞きしたいのですが
今ノベルゲームを作っています
そこで、私は「スプライト名」、「変数名」の2つを一覧.txtというファイルを作り
そこで一覧化して管理する事にしました
例)
フラグ名:%flag (内容 ON:1 OFF:0)
設定契機:@game_start、@event_1
解除契機:@ending、@test2
とかこういうのを一覧化しているんですが、こういうのはゲームを一本作るにあたって
やった方がいいのでしょうか?それともやる必要はないのでしょうか?
また、私は現在「スプライト名」、「変数名」について一覧化していますが
この2つ以外にも一覧化すべき(または、した方が便利)なものがあれば
ご教授頂けますでしょうか?
すみません、忘れていました・・・。
あともう一つ、教えていただきたいというかお聞きしたいのですが
今ノベルゲームを作っています
そこで、私は「スプライト名」、「変数名」の2つを一覧.txtというファイルを作り
そこで一覧化して管理する事にしました
例)
フラグ名:%flag (内容 ON:1 OFF:0)
設定契機:@game_start、@event_1
解除契機:@ending、@test2
とかこういうのを一覧化しているんですが、こういうのはゲームを一本作るにあたって
やった方がいいのでしょうか?それともやる必要はないのでしょうか?
また、私は現在「スプライト名」、「変数名」について一覧化していますが
この2つ以外にも一覧化すべき(または、した方が便利)なものがあれば
ご教授頂けますでしょうか?
2014/03/11(火) 17:58:51.84ID:tiWZLd95
>>66
横だけど
> やった方がいいのでしょうか?それともやる必要はないのでしょうか?
最初にかっちり計画を立てて一気に組み上げるほうが向いてる人もいるし、逆に計画ばかり作りこみすぎてそれで満足しちゃう人もいるし
こればっかりは好き好きだけど、画像とかの素材(手間がかかるもの)は最初に作っておいたほうがいいと思う
でも、どんな出来でもいいからとにかく完成させることがすごーく大事だよ
> この2つ以外にも一覧化すべき(または、した方が便利)なものがあれば
やるんならラベル名、音楽、効果音あたりもかなー
あとちょっとずれるけど、よく使う色もメモに書くなりライブラリとしてまとめるなりすると便利
横だけど
> やった方がいいのでしょうか?それともやる必要はないのでしょうか?
最初にかっちり計画を立てて一気に組み上げるほうが向いてる人もいるし、逆に計画ばかり作りこみすぎてそれで満足しちゃう人もいるし
こればっかりは好き好きだけど、画像とかの素材(手間がかかるもの)は最初に作っておいたほうがいいと思う
でも、どんな出来でもいいからとにかく完成させることがすごーく大事だよ
> この2つ以外にも一覧化すべき(または、した方が便利)なものがあれば
やるんならラベル名、音楽、効果音あたりもかなー
あとちょっとずれるけど、よく使う色もメモに書くなりライブラリとしてまとめるなりすると便利
2014/03/11(火) 18:00:20.66ID:5J22cZ7i
69名前は開発中のものです。
2014/03/12(水) 16:22:55.74ID:IPkEpZcv Nscripter始めて2日目の者ですが、ググったけど解らないんで教えて下さい。
音声のセリフと文字のセリフを同時に表示させて進めるアドベンチャーゲーム作ろうとしてるんですが
オートで進める場合はどうやるんでしょうか?
メニューのとこのオートモードを使うと音声が終わる前にどんどん先に行ってしまいます。
@を使わずに音声再生が終わったら次の音声に自動で行くにはどうしたら良いのでしょう?
音声のセリフと文字のセリフを同時に表示させて進めるアドベンチャーゲーム作ろうとしてるんですが
オートで進める場合はどうやるんでしょうか?
メニューのとこのオートモードを使うと音声が終わる前にどんどん先に行ってしまいます。
@を使わずに音声再生が終わったら次の音声に自動で行くにはどうしたら良いのでしょう?
2014/03/12(水) 18:04:41.56ID:2gNgGqZB
ageなくてええよ
なんだっけ音声いれたことないからわかんないけど
ファイルごとに長さ設定しておけばいいんじゃね?
なんだっけ音声いれたことないからわかんないけど
ファイルごとに長さ設定しておけばいいんじゃね?
2014/03/12(水) 21:32:24.89ID:IPkEpZcv
そうなんですか、それを全てのセリフで設定するのは面倒くさいですね……
2014/03/12(水) 23:11:06.90ID:HnUhQ2lv
>>69
これで上手くいかない?
*define
game
*start
テストスタート
\
dwave 0,"test.ogg";適当な音声ファイル用意してね♪
あ
\
い
\
う
\
end
dwaveの詳しい仕様は
NScripter Scripting Factory
ttp://senzogawa.s90.xrea.com/
が参考になると思います
他にも
Binary Heaven ミラーサイト
ttp://sorejyadamedarou.sakura.ne.jp/o_show/
【NScripter−Tips】
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/
なども初心者には参考になるかと思います
これで上手くいかない?
*define
game
*start
テストスタート
\
dwave 0,"test.ogg";適当な音声ファイル用意してね♪
あ
\
い
\
う
\
end
dwaveの詳しい仕様は
NScripter Scripting Factory
ttp://senzogawa.s90.xrea.com/
が参考になると思います
他にも
Binary Heaven ミラーサイト
ttp://sorejyadamedarou.sakura.ne.jp/o_show/
【NScripter−Tips】
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/
なども初心者には参考になるかと思います
73名前は開発中のものです。
2014/03/13(木) 11:57:52.40ID:smWtYmi32014/03/13(木) 14:06:19.55ID:qgu59eXy
sage
2014/03/13(木) 22:38:11.39ID:/mgPEoXb
>>66
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/tip04.htm#TIP1
ここの印刷して管理してるわ。
モニタと手元の紙別であると早い。
ラベル名は必要なくね? システム書いてる時なんて、コード見てコピペすればいいし。
シナリオ中なんてそれこそ用事ない気がする。
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/tip04.htm#TIP1
ここの印刷して管理してるわ。
モニタと手元の紙別であると早い。
ラベル名は必要なくね? システム書いてる時なんて、コード見てコピペすればいいし。
シナリオ中なんてそれこそ用事ない気がする。
2014/03/13(木) 23:55:15.54ID:5UHdjZ2/
>>75
確かにそうですね
NS2なんで分岐はselectですが@ラベルの飛び先を
一覧化しとけばいいかなと思ったんですが、飛び先は必ず単一だし
そんなのファイル検索すればすぐ見つかるし、一覧化なんて逆に
手間かかるだけですね
確かにそうですね
NS2なんで分岐はselectですが@ラベルの飛び先を
一覧化しとけばいいかなと思ったんですが、飛び先は必ず単一だし
そんなのファイル検索すればすぐ見つかるし、一覧化なんて逆に
手間かかるだけですね
2014/03/14(金) 12:14:38.25ID:nHy268dY
一覧化の有用性は制作期間によるな
短期でサラッと作るのなら不必要だけど
2〜3年とか長期の見込みで作る気なら
覚えてて当然ってのも細かくメモしてる方が
製作からしばらく距離おいてド忘れした時に役立つ
短期でサラッと作るのなら不必要だけど
2〜3年とか長期の見込みで作る気なら
覚えてて当然ってのも細かくメモしてる方が
製作からしばらく距離おいてド忘れした時に役立つ
2014/03/14(金) 16:49:17.56ID:jLwzdK29
>>77
今作ってるのは短期なんですが、私はそもそもはじめたばかりですし
将来大きなウェイトのものを作る予定があるので、簡単なやり方じゃなく
大きな物作るときのやり方に慣れておきたいので短期の制作物でも
一覧化しました
あとNS2ですが、selectやwait、clickなどの標準命令は大文字小文字
どちらでも機能しますが、命令の記述は大文字と小文字どっち使った方がいい
とかありますか? 今は命令は全部小文字使ってます
もしくは、この命令は小文字、この命令は大文字とか使い分けすると
便利、みたいな事ってありますか?
今作ってるのは短期なんですが、私はそもそもはじめたばかりですし
将来大きなウェイトのものを作る予定があるので、簡単なやり方じゃなく
大きな物作るときのやり方に慣れておきたいので短期の制作物でも
一覧化しました
あとNS2ですが、selectやwait、clickなどの標準命令は大文字小文字
どちらでも機能しますが、命令の記述は大文字と小文字どっち使った方がいい
とかありますか? 今は命令は全部小文字使ってます
もしくは、この命令は小文字、この命令は大文字とか使い分けすると
便利、みたいな事ってありますか?
2014/03/14(金) 19:39:35.68ID:GjJQIYm7
本体に付属されてるマニュアル命令郡の書き方に従って使った方がいい
命令覚える方はそれに合わせて記憶するのが自然だと思うから
初代Nスクでの話になるけど
以前、大文字で全部書かれたスクリプトに出会ったことあるけど
見慣れない書き方だから瞬時に判別できなくて読みづらくて仕方なかったよ
命令覚える方はそれに合わせて記憶するのが自然だと思うから
初代Nスクでの話になるけど
以前、大文字で全部書かれたスクリプトに出会ったことあるけど
見慣れない書き方だから瞬時に判別できなくて読みづらくて仕方なかったよ
2014/03/14(金) 19:44:25.01ID:jLwzdK29
2014/03/14(金) 19:49:18.80ID:jLwzdK29
すみません、あとひとつあるのですが、
未クリアの場合を0、クリアしたら1を立てて
1(クリア済み)なら背景を変えるとか、クリアしたかしてないかで
処理を変える事をやっています
結果から言えば出来たのですが、strsaveとstrloadを使いました
そのファイルに初期値0を書き込み、クリアしたらstrsaveで0以外を書き込み、
その後、クリアしたか判別したい箇所手前でそのファイルをstrloadで
読みに行って、0以外(クリア済みフラグ)があれば、専用処理をする、としました
リファレンスを見た限り、クリア判別に使えそうなのがこのファイルへの書き出し、
読み込みしかなかった(私として思い付かなかった)のでstrsave/strloadを使いましたが
通常の変数(ローカルでもグローバルでも)だけでクリア判別って不可能ですよね?
未クリアの場合を0、クリアしたら1を立てて
1(クリア済み)なら背景を変えるとか、クリアしたかしてないかで
処理を変える事をやっています
結果から言えば出来たのですが、strsaveとstrloadを使いました
そのファイルに初期値0を書き込み、クリアしたらstrsaveで0以外を書き込み、
その後、クリアしたか判別したい箇所手前でそのファイルをstrloadで
読みに行って、0以外(クリア済みフラグ)があれば、専用処理をする、としました
リファレンスを見た限り、クリア判別に使えそうなのがこのファイルへの書き出し、
読み込みしかなかった(私として思い付かなかった)のでstrsave/strloadを使いましたが
通常の変数(ローカルでもグローバルでも)だけでクリア判別って不可能ですよね?
2014/03/14(金) 22:14:49.97ID:EEceqbQe
1:まずクリアフラグ用の変数を「_」で始まる変数で用意します
仮に「_flag00」としてみます
2:「最小規模システム」のサンプルを例にすると、
00.txtの@first_settings以下に次の一文を追加します
_flag00 = 0
3:savedataフォルダの中身を全部消しておきます
以上でたぶん期待した動作になると思います
仮に「_flag00」としてみます
2:「最小規模システム」のサンプルを例にすると、
00.txtの@first_settings以下に次の一文を追加します
_flag00 = 0
3:savedataフォルダの中身を全部消しておきます
以上でたぶん期待した動作になると思います
2014/03/14(金) 22:29:32.50ID:jLwzdK29
>>82
>_で始まる変数はシステム変数です。どこからでもアクセスできます。
>セーブファイル単位ではなくエンジン単位で保存されるので、クリアフラグやコンフィグ設定等に使ってください。
すみません、上記のような説明がtxtに書いてありました。
試すのはこれからですが、とりあえずお礼レスだけさせて頂きます
ありがとうございました。
>_で始まる変数はシステム変数です。どこからでもアクセスできます。
>セーブファイル単位ではなくエンジン単位で保存されるので、クリアフラグやコンフィグ設定等に使ってください。
すみません、上記のような説明がtxtに書いてありました。
試すのはこれからですが、とりあえずお礼レスだけさせて頂きます
ありがとうございました。
2014/03/17(月) 02:37:25.00ID:Yw38mKR1
NS2関係の質問している者ですが、もうちょっと質問しても大丈夫でしょうか・・・?
タイトル画面に音楽室を表示して、BGM聞けるヤツがサウンドノベルには
よくあると思いますが、それを実装しました。機能的には問題ありません。
そこで次に、今再生中の曲名を表示する機能を実装しようと思って
やってみたのですが、上手くいきません。
もう10時間くらい悩んでいます
大した処理じゃない気がするんですが・・・なぜか上手くいきません。
↓がソースです
タイトル画面に音楽室を表示して、BGM聞けるヤツがサウンドノベルには
よくあると思いますが、それを実装しました。機能的には問題ありません。
そこで次に、今再生中の曲名を表示する機能を実装しようと思って
やってみたのですが、上手くいきません。
もう10時間くらい悩んでいます
大した処理じゃない気がするんですが・・・なぜか上手くいきません。
↓がソースです
2014/03/17(月) 02:40:11.68ID:Yw38mKR1
(02.txtの@title下に)
; 音楽室
-------------------
@soundroom
bgmstop ;念のため
spset "soundroom",100
sp "soundroom:back",{name="stages\soundroom.jpg",x=0,y=0,z=100}
sp "soundroom:bar",{name="bar\soundroom_bar.png",x=0,y=460,z=99,a=160}
sp "soundroom:s1",{name={"?曲1,menu3","?曲1,menu4"},x=120,y=340,z=0}
(中略。曲2、曲3と続くだけです)
sp "soundroom:s96",{name={"?再生中タイトル:,menu4","?再生中タイトル:,menu4"},x=50,y=480,z=0}
sp "soundroom:s99",{name={"?停止,menu3","?停止,menu4"},x=710,y=530,z=0}
btnclear "soundroom"
btn "soundroom:s1"
btn "soundroom:s96"
btn "soundroom:s99"
; 音楽室
-------------------
@soundroom
bgmstop ;念のため
spset "soundroom",100
sp "soundroom:back",{name="stages\soundroom.jpg",x=0,y=0,z=100}
sp "soundroom:bar",{name="bar\soundroom_bar.png",x=0,y=460,z=99,a=160}
sp "soundroom:s1",{name={"?曲1,menu3","?曲1,menu4"},x=120,y=340,z=0}
(中略。曲2、曲3と続くだけです)
sp "soundroom:s96",{name={"?再生中タイトル:,menu4","?再生中タイトル:,menu4"},x=50,y=480,z=0}
sp "soundroom:s99",{name={"?停止,menu3","?停止,menu4"},x=710,y=530,z=0}
btnclear "soundroom"
btn "soundroom:s1"
btn "soundroom:s96"
btn "soundroom:s99"
2014/03/17(月) 02:42:09.29ID:Yw38mKR1
↑の続き
@soundroom_lp
%retvolume = getbgmvolume() ;BGMボリューム取得(音楽室終了時ボリューム戻し用)
%nowplay = 0 ;プレイ中曲判定フラグ
; 再生中タイトルのフォントを定義
spset "soundtitle",100
sp "soundtitle:none",{name={"?NONE,menu4"},x=270,y=480,z=0}
sp "soundtitle:t1",{name={"?曲1,menu4"},x=270,y=480,z=0}
(中略。曲2、曲3と続くだけです)
spsetvisible "soundtitle",0
@soundroom_lp2
%nowvolume = getbgmvolume() ;BGMボリューム取得(音楽室内でのボリューム調整用)
;最低(最大)ボリュームを下回(上回)らないよう抑止
if %nowvolume > 0 then
%nowvolume = 0
elseif %nowvolume < -10000 then
%nowvolume = -10000
endif
@soundroom_lp
%retvolume = getbgmvolume() ;BGMボリューム取得(音楽室終了時ボリューム戻し用)
%nowplay = 0 ;プレイ中曲判定フラグ
; 再生中タイトルのフォントを定義
spset "soundtitle",100
sp "soundtitle:none",{name={"?NONE,menu4"},x=270,y=480,z=0}
sp "soundtitle:t1",{name={"?曲1,menu4"},x=270,y=480,z=0}
(中略。曲2、曲3と続くだけです)
spsetvisible "soundtitle",0
@soundroom_lp2
%nowvolume = getbgmvolume() ;BGMボリューム取得(音楽室内でのボリューム調整用)
;最低(最大)ボリュームを下回(上回)らないよう抑止
if %nowvolume > 0 then
%nowvolume = 0
elseif %nowvolume < -10000 then
%nowvolume = -10000
endif
2014/03/17(月) 02:45:54.22ID:Yw38mKR1
↑の続き
; ボタン判定
; %nowplayを判定し、押した曲がすでに再生中の場合は再度再生はしないよう抑止する
btnexec %ret, "soundroom"
★ if %ret == "s1" and %nowplay <> 1 then spsetvisible "soundtitle",0 : spvisible "soundtitle:t1",1 : %nowplay = 1 : bgmfadeout 200 : wait 200,0 : bgmplay "sound\曲1.ogg"
(中略。曲2、曲3と続くだけです)
★ if %ret == #R then spsetvisible "soundtitle",0 : spvisible "soundtitle:none",1 : bgmstop : bgmvolume %retvolume : spsetdelete "soundroom" : print #c : goto @title
goto @soundroom_lp2
return ;音楽室ここまで
; ボタン判定
; %nowplayを判定し、押した曲がすでに再生中の場合は再度再生はしないよう抑止する
btnexec %ret, "soundroom"
★ if %ret == "s1" and %nowplay <> 1 then spsetvisible "soundtitle",0 : spvisible "soundtitle:t1",1 : %nowplay = 1 : bgmfadeout 200 : wait 200,0 : bgmplay "sound\曲1.ogg"
(中略。曲2、曲3と続くだけです)
★ if %ret == #R then spsetvisible "soundtitle",0 : spvisible "soundtitle:none",1 : bgmstop : bgmvolume %retvolume : spsetdelete "soundroom" : print #c : goto @title
goto @soundroom_lp2
return ;音楽室ここまで
2014/03/17(月) 02:49:57.53ID:Yw38mKR1
★の部分
ここがそれぞれの曲名をクリックした時に入るルートですが、
ここにcprint置くとちゃんと入る事は確認できています
曲2をクリックすれば曲2に、曲5をクリックすれば曲5に、右クリック時は#Rルートに
ちゃんと入るのですが、spestvisible〜の処理が明らかにスルーされてるようなのですが
原因が全く理解できません
デバッグエラーも出ないので記述ミスもないと思います。
spset "soundtitle",100
sp "soundtitle:none",{name={"?NONE,menu4"},x=270,y=480,z=0}
↑の2行だけを@game_start以降に置くとちゃんと表示されるのでスプライトも正常に生成されているはずです
spsetvisible "soundtitle",0を削除しても表示されません
z軸を疑いましたが、背景画像などを全部消しても表示されませんでした
何かヒント頂けないでしょうか・・・?
ここがそれぞれの曲名をクリックした時に入るルートですが、
ここにcprint置くとちゃんと入る事は確認できています
曲2をクリックすれば曲2に、曲5をクリックすれば曲5に、右クリック時は#Rルートに
ちゃんと入るのですが、spestvisible〜の処理が明らかにスルーされてるようなのですが
原因が全く理解できません
デバッグエラーも出ないので記述ミスもないと思います。
spset "soundtitle",100
sp "soundtitle:none",{name={"?NONE,menu4"},x=270,y=480,z=0}
↑の2行だけを@game_start以降に置くとちゃんと表示されるのでスプライトも正常に生成されているはずです
spsetvisible "soundtitle",0を削除しても表示されません
z軸を疑いましたが、背景画像などを全部消しても表示されませんでした
何かヒント頂けないでしょうか・・・?
2014/03/17(月) 22:05:22.75ID:7PLMrMnz
>>87
1:spsetvisibleは「スプライトセット」の表示状態を変える命令です
スプライトセットの中のスプライトの表示状態を一括で変更する命令ではないです
2:スプライトの状態を変更した後は、print #Cなどで画面に反映させましょう
%ret=="s1"の場合、printで反映されずにループの頭(@soundroom_lp2)に戻ってます
たぶん、こんなんではないかと
1:spsetvisibleは「スプライトセット」の表示状態を変える命令です
スプライトセットの中のスプライトの表示状態を一括で変更する命令ではないです
2:スプライトの状態を変更した後は、print #Cなどで画面に反映させましょう
%ret=="s1"の場合、printで反映されずにループの頭(@soundroom_lp2)に戻ってます
たぶん、こんなんではないかと
2014/03/18(火) 15:54:04.81ID:B1oCyby7
NScripter標準のショートカットキー一覧ってどっかで確認できる?
2014/03/18(火) 15:56:21.51ID:D0X0RLvL
>>89
>1:spsetvisibleは「スプライトセット」の表示状態を変える命令です
>スプライトセットの中のスプライトの表示状態を一括で変更する命令ではないです
でも結果的には一括で変更しているように思えるのですが・・・
デフォルト(サンプル)のタイトル画面なんかがそのような動作をしている認識なのですが・・・
試しに文章中で可視不可視を切り替えてみましたが、
spset "st",100
sp "st:a",{name={省略}
sp "st:b",{name={省略}
spsetvisible "st",0
文章1
spsetvisible "st",1
(★st1:1とst:bが両方表示される)
文章2
spsetvisible "st",0
(★st1:1とst:bが両方消去される)
という結果になります
確かに「スプライトの可視状態を変更している」のではなく、「スプライトセットの可視状態を変更している」
のは分かっているつもりですが、結果としてはスプライトセットが内包しているスプライトの可視状態が一括で
変更されている(ように見える)という事ですよね?
あと気づいたんですが、上記のようなスプライトを一つの画面に表示させるのではない処理って
スプライトセットに纏めず、スプライト単位で(spsetを使わずspのみで)記述した方がいいのでしょうか?
>1:spsetvisibleは「スプライトセット」の表示状態を変える命令です
>スプライトセットの中のスプライトの表示状態を一括で変更する命令ではないです
でも結果的には一括で変更しているように思えるのですが・・・
デフォルト(サンプル)のタイトル画面なんかがそのような動作をしている認識なのですが・・・
試しに文章中で可視不可視を切り替えてみましたが、
spset "st",100
sp "st:a",{name={省略}
sp "st:b",{name={省略}
spsetvisible "st",0
文章1
spsetvisible "st",1
(★st1:1とst:bが両方表示される)
文章2
spsetvisible "st",0
(★st1:1とst:bが両方消去される)
という結果になります
確かに「スプライトの可視状態を変更している」のではなく、「スプライトセットの可視状態を変更している」
のは分かっているつもりですが、結果としてはスプライトセットが内包しているスプライトの可視状態が一括で
変更されている(ように見える)という事ですよね?
あと気づいたんですが、上記のようなスプライトを一つの画面に表示させるのではない処理って
スプライトセットに纏めず、スプライト単位で(spsetを使わずspのみで)記述した方がいいのでしょうか?
2014/03/18(火) 16:03:39.94ID:QURCLOiW
>>90
「D」「N」「Alt+Enter」くらいじゃね?
「D」「N」「Alt+Enter」くらいじゃね?
2014/03/18(火) 16:11:50.80ID:B1oCyby7
2014/03/18(火) 16:32:06.17ID:QURCLOiW
2014/03/18(火) 17:35:43.99ID:B1oCyby7
>>94
Windows何年も使ってるのに今まで知らんかった……
計測していたタイマーが停止分を考慮してくれずに悩んでいたんだけど、NSTimer()の後にNSDoEvents()持ってきたら上手いこと動いたわ
Windows何年も使ってるのに今まで知らんかった……
計測していたタイマーが停止分を考慮してくれずに悩んでいたんだけど、NSTimer()の後にNSDoEvents()持ってきたら上手いこと動いたわ
2014/03/18(火) 22:09:36.15ID:j5Gh2zsl
>>91
>87のspsetvisible "soundtitle",0 : spvisible "soundtitle:t1",1
の部分がスプライトの表示フラグを全部クリアして、soundtitle:t1の表示フラグを
立てるに見えたのよ
「スプライトセット」は中身のスプライトとは独立した表示フラグを持っていて
両者の組み合わせでスプライトが画面に表示されたりされなかったりするのよ
サンプル用意してみたから、よければ試してみて
sp "background",{name="*800,600,#FF000000",x=0,y=0,z=0}
FONT "st_a",{name="MS ゴシック",color=#FF0000FF,width=24,height=32}
FONT "st_b",{name="MS ゴシック",color=#FF00FF00,width=24,height=32}
spset "st",100
sp "st:a",{name="?スプライトst:a,st_a",x=128,y=32,z=0}
sp "st:b",{name="?スプライトst:b,st_b",x=384,y=32,z=0}
スタート
スプライトst:aを非表示状態にします
spvisible "st:a",0
[スプライトセット]を非表示状態にします
spsetvisible "st",0
スプライトst:aを表示状態にします
spvisible "st:a",1
スプライトst:aを表示状態にしました
スプライトst:bを一度非表示状態にします
spvisible "st:b",0
[スプライトセット]を表示状態にします
spsetvisible "st",1
[スプライトセット]を表示状態にしました
スプライトst:bを表示状態にします
spvisible "st:b",1
以上です。\nお疲れ様でした。
quit
>87のspsetvisible "soundtitle",0 : spvisible "soundtitle:t1",1
の部分がスプライトの表示フラグを全部クリアして、soundtitle:t1の表示フラグを
立てるに見えたのよ
「スプライトセット」は中身のスプライトとは独立した表示フラグを持っていて
両者の組み合わせでスプライトが画面に表示されたりされなかったりするのよ
サンプル用意してみたから、よければ試してみて
sp "background",{name="*800,600,#FF000000",x=0,y=0,z=0}
FONT "st_a",{name="MS ゴシック",color=#FF0000FF,width=24,height=32}
FONT "st_b",{name="MS ゴシック",color=#FF00FF00,width=24,height=32}
spset "st",100
sp "st:a",{name="?スプライトst:a,st_a",x=128,y=32,z=0}
sp "st:b",{name="?スプライトst:b,st_b",x=384,y=32,z=0}
スタート
スプライトst:aを非表示状態にします
spvisible "st:a",0
[スプライトセット]を非表示状態にします
spsetvisible "st",0
スプライトst:aを表示状態にします
spvisible "st:a",1
スプライトst:aを表示状態にしました
スプライトst:bを一度非表示状態にします
spvisible "st:b",0
[スプライトセット]を表示状態にします
spsetvisible "st",1
[スプライトセット]を表示状態にしました
スプライトst:bを表示状態にします
spvisible "st:b",1
以上です。\nお疲れ様でした。
quit
2014/03/18(火) 23:18:00.30ID:D0X0RLvL
2014/03/18(火) 23:25:57.98ID:D0X0RLvL
ただ、今度はz軸の疑問が出てきてz軸は0〜100で
0が最も手前だという認識です
77と76では76が手前に表示されますよね?
例えば、z=77が文字でz=76が背景だと、文字は背景に隠れて
見えなくなると思います
ですが、
spset "soundroom",100
sp "soundroom:back",{name="stages\rmenu_bg.jpg",x=0,y=0,z=100} ;背景です
sp "soundroom:bar",{name="bar\soundroom_bar.png",x=0,y=460,z=99,a=160} ;背景の手前に表示する棒(バー)
spset "st",99 ;スプライトセットとしても上記のセット"soundroom"より手前にしているはずなのですが
sp "st_none",{name={"?---,menu4"},x=270,y=480,z=0} ;これを上記背景jpgより手前にしたい
sp "st_t1",{name={"?灰色の思考,menu4"},x=270,y=480,z=0} ;これを上記背景jpgより手前にしたい
としても、"soundroom:back"が"st_none"や"st_t1"より手前に表示されてしまい
"st_none"や"st_t1"が見えなくなってしまいます
これってz軸の認識おかしいですか?
単純に数値が0に近い方が手前に表示される、という認識なのですが・・・
0が最も手前だという認識です
77と76では76が手前に表示されますよね?
例えば、z=77が文字でz=76が背景だと、文字は背景に隠れて
見えなくなると思います
ですが、
spset "soundroom",100
sp "soundroom:back",{name="stages\rmenu_bg.jpg",x=0,y=0,z=100} ;背景です
sp "soundroom:bar",{name="bar\soundroom_bar.png",x=0,y=460,z=99,a=160} ;背景の手前に表示する棒(バー)
spset "st",99 ;スプライトセットとしても上記のセット"soundroom"より手前にしているはずなのですが
sp "st_none",{name={"?---,menu4"},x=270,y=480,z=0} ;これを上記背景jpgより手前にしたい
sp "st_t1",{name={"?灰色の思考,menu4"},x=270,y=480,z=0} ;これを上記背景jpgより手前にしたい
としても、"soundroom:back"が"st_none"や"st_t1"より手前に表示されてしまい
"st_none"や"st_t1"が見えなくなってしまいます
これってz軸の認識おかしいですか?
単純に数値が0に近い方が手前に表示される、という認識なのですが・・・
2014/03/19(水) 01:14:59.19ID:Zh+6lj+c
軸には正負あるから単純に大きい方が上なのではないかと試さずにエスパー
100名前は開発中のものです。
2014/03/19(水) 02:23:55.18ID:e6HTnj1i sp "soundroom:back",{name="stages\rmenu_bg.jpg",x=0,y=0,z=100} ;背景です
sp "soundroom:bar",{name="bar\soundroom_bar.png",x=0,y=460,z=99,a=160} ;背景の手前に表示する棒(バー)
↑これのz値を上下で交換して、背景のz値を99、棒(バー)のz値を100にすると
棒(バー)が背景に隠れて見えなくなるのでz値は数値が小さい方が手前、というのは
間違いないはずです。リファレンスにも書いてありました。
sp "soundroom:bar",{name="bar\soundroom_bar.png",x=0,y=460,z=99,a=160} ;背景の手前に表示する棒(バー)
↑これのz値を上下で交換して、背景のz値を99、棒(バー)のz値を100にすると
棒(バー)が背景に隠れて見えなくなるのでz値は数値が小さい方が手前、というのは
間違いないはずです。リファレンスにも書いてありました。
101名前は開発中のものです。
2014/03/19(水) 16:21:55.73ID:ffvKRji2 オートモードにして話を読み進めていって選択のところで選ぶ際に2回クリックをしないといけなくなります。
2回クリックして他のラベルに飛んだ時にはオートモードは解除されています。
これをオートモード状態で選択したあともオートモード状態が解除されない様にするにはどうしたらいいでしょうか?
2回クリックして他のラベルに飛んだ時にはオートモードは解除されています。
これをオートモード状態で選択したあともオートモード状態が解除されない様にするにはどうしたらいいでしょうか?
102名前は開発中のものです。
2014/03/19(水) 16:26:09.26ID:yhFLOHMT 選択肢前にオート状態チェック オートならフラグ立てる
選択肢を選ばせる
選択肢後にフラグ立ってたらオート命令を実行させる フラグはリセットさせる
選択肢を選ばせる
選択肢後にフラグ立ってたらオート命令を実行させる フラグはリセットさせる
103名前は開発中のものです。
2014/03/19(水) 16:55:59.57ID:ffvKRji2104名前は開発中のものです。
2014/03/19(水) 17:27:18.23ID:NHl2z7g1 シスカマのソース内容を読んで理解できる程度のスキルを積む
変数の扱い方覚える
即物的に知っても意味無いから使い始めるなら
基礎は身に付けたほうがいい
そうすれば>>102が具体的な対処法を示してると分かるよ
変数の扱い方覚える
即物的に知っても意味無いから使い始めるなら
基礎は身に付けたほうがいい
そうすれば>>102が具体的な対処法を示してると分かるよ
105101
2014/03/19(水) 17:42:38.14ID:ffvKRji2 もっと簡単に考えてました。
102さんの言ってることは薄っすら分かるんですが、まさかシスカマまでいくとなると今の僕では出来なかもorz
102さんの言ってることは薄っすら分かるんですが、まさかシスカマまでいくとなると今の僕では出来なかもorz
106名前は開発中のものです。
2014/03/19(水) 17:53:56.88ID:yhFLOHMT シスカマした方が楽だが、別になくてもできる。
select命令の前の行でisskipするだけで状態取得できる。
selectで飛んだラベルの先で判断してオートさせれ。
select命令の前の行でisskipするだけで状態取得できる。
selectで飛んだラベルの先で判断してオートさせれ。
107名前は開発中のものです。
2014/03/19(水) 18:20:45.57ID:Zh+6lj+c 長年積み重なった便利命令が地味に色々ある
108101
2014/03/19(水) 19:36:35.24ID:ffvKRji2 レス下さった皆さん、有難うございます。
isskipで何とかなりそうです。
まだNスク一週間未満でシスカマは座敷が高いけど頑張ってみます。
isskipで何とかなりそうです。
まだNスク一週間未満でシスカマは座敷が高いけど頑張ってみます。
109名前は開発中のものです。
2014/03/19(水) 22:23:54.34ID:bbbwfQ1W >>98
これだと"st_noe"と"st_t1"は
スプライトセット名=""、スプライトセットのz値=10000のスプライトになってるね
スプライトの名前を"st:none"、"st:t1"にすれば期待した動作になると思うよ
これだと"st_noe"と"st_t1"は
スプライトセット名=""、スプライトセットのz値=10000のスプライトになってるね
スプライトの名前を"st:none"、"st:t1"にすれば期待した動作になると思うよ
110名前は開発中のものです。
2014/03/19(水) 22:32:39.58ID:e6HTnj1i111名前は開発中のものです。
2014/03/19(水) 23:39:42.03ID:e6HTnj1i >>109
あれ・・すみません、よく見たら
>z値=10000のスプライトになってるね
とありますが、この10000というのはどこから出てきた数値なんでしょうか?
もしかしてスプライトのz値は属しているスプライトセットがあれば
スプライトセットのz値xスプライトのz値なのか?と思って
spset "gra",100
sp "gra:1",{name={"?テキスト,menu3","?テキスト,menu4"},x=350,y=530,z=8}
spset "sa",99
sp "sa:1",{name="a\test.png",x=300,y=0,z=10}
とやってみましたが、"sa:1"が"gra:1"より手前に表示されました
これってもしかして、スプライトセットのz値が高い(上の例で言うとspset"gra")ものに
属しているスプライト(上の例だと"gra:1")は、それよりz値が低いスプライトセットが
属しているスプライト(上の例だと"sa:1")より手前には表示できないのでしょうか?
つまり、セットが属しているスプライト自体のz値は、同じz値を持つスプライトセット間でのみ
意味があるような動作をしているように見えるのですが
つまり上記の"gra:1"というスプライトを"sa:1"より手前に表示させるには"gra:1"を"gra"という
スプライトセットから外すしかないんでしょうか?
なんかz値って単に0に近ければ手前にくるだけのものって言っても
spとspsetのネスト関係があるせいで思ったより複雑な動きしててよく分からなくなってきました
sp z値 nscripter2とかでググっても何も出てきませんでした・・・
あれ・・すみません、よく見たら
>z値=10000のスプライトになってるね
とありますが、この10000というのはどこから出てきた数値なんでしょうか?
もしかしてスプライトのz値は属しているスプライトセットがあれば
スプライトセットのz値xスプライトのz値なのか?と思って
spset "gra",100
sp "gra:1",{name={"?テキスト,menu3","?テキスト,menu4"},x=350,y=530,z=8}
spset "sa",99
sp "sa:1",{name="a\test.png",x=300,y=0,z=10}
とやってみましたが、"sa:1"が"gra:1"より手前に表示されました
これってもしかして、スプライトセットのz値が高い(上の例で言うとspset"gra")ものに
属しているスプライト(上の例だと"gra:1")は、それよりz値が低いスプライトセットが
属しているスプライト(上の例だと"sa:1")より手前には表示できないのでしょうか?
つまり、セットが属しているスプライト自体のz値は、同じz値を持つスプライトセット間でのみ
意味があるような動作をしているように見えるのですが
つまり上記の"gra:1"というスプライトを"sa:1"より手前に表示させるには"gra:1"を"gra"という
スプライトセットから外すしかないんでしょうか?
なんかz値って単に0に近ければ手前にくるだけのものって言っても
spとspsetのネスト関係があるせいで思ったより複雑な動きしててよく分からなくなってきました
sp z値 nscripter2とかでググっても何も出てきませんでした・・・
112名前は開発中のものです。
2014/03/20(木) 22:34:39.30ID:R4YaCxNl >>111
スプライトは必ずスプライトセットに所属します
明示的にスプライトセットを指定しない場合、スプライトセット名""のスプライトセットに自動で編入されます
スプラトセット""のz値はデフォルトでは、10000に設定されています
スプライトセットはz値にしたがってソートされます
数値の小さいほうが上で、数値の大きいほうが下になります
スプライトのz値は、所属するスプライトセットの中でのみ有効です
つまり、スプライトはスプライトセットを跨いだり飛び越えたりはしません
例:
spsetz "a",100
spz "a:a01",200
spz "a:a02",201
spsetz "b",101
spz "b:b01",10
spz "b:b02",11
spz "c01",1
とした場合
----"a"=100----
a:a01=200
a:a02=201
----"b"=101----
b:b01=10
b:b02=11
----""=10000----
c01=1
のように配置されます
マニュアル「NScripter2BASIC命令・関数表.txt」が参考になると思います
スプライトは必ずスプライトセットに所属します
明示的にスプライトセットを指定しない場合、スプライトセット名""のスプライトセットに自動で編入されます
スプラトセット""のz値はデフォルトでは、10000に設定されています
スプライトセットはz値にしたがってソートされます
数値の小さいほうが上で、数値の大きいほうが下になります
スプライトのz値は、所属するスプライトセットの中でのみ有効です
つまり、スプライトはスプライトセットを跨いだり飛び越えたりはしません
例:
spsetz "a",100
spz "a:a01",200
spz "a:a02",201
spsetz "b",101
spz "b:b01",10
spz "b:b02",11
spz "c01",1
とした場合
----"a"=100----
a:a01=200
a:a02=201
----"b"=101----
b:b01=10
b:b02=11
----""=10000----
c01=1
のように配置されます
マニュアル「NScripter2BASIC命令・関数表.txt」が参考になると思います
113helpよろしくです
2014/03/21(金) 22:13:47.94ID:NWe/nM23 アンドロイドの実機でプレイした時に出る左端の右クリック、左クリック
などのツールバーはどうすれば消せますか?
などのツールバーはどうすれば消せますか?
114名前は開発中のものです。
2014/03/22(土) 13:00:08.83ID:JSnWAC6M115初心者A
2014/03/23(日) 21:39:50.64ID:JwvyC9fe bgmの音量を変えようとして
bgm "bgm\xxx.ogg":bgmvol 30,50 って入力したら
次の文章に,50が出てくるようになってしまったんだが、
,50を消すにはどうすればいいんでしょうか。
bgm "bgm\xxx.ogg":bgmvol 30,50 って入力したら
次の文章に,50が出てくるようになってしまったんだが、
,50を消すにはどうすればいいんでしょうか。
116名前は開発中のものです。
2014/03/23(日) 22:45:48.57ID:QacflObd ていうかその50はなんなの?
bgmvol に指定できるパラメータはボリューム値ひとつだけじゃないの。
bgmvol に指定できるパラメータはボリューム値ひとつだけじゃないの。
117名前は開発中のものです。
2014/03/25(火) 02:05:13.06ID:VBLVhYq7 vipで企画モノやってましたが、ポシャりそうなのでさっきテスト版的なのを
アップしてきました
ttp://iup.2ch-library.com/i/i1158160-1395674092.png
ここで解決できなければこのような作りは出来ない箇所が多々ありました。
スペシャルサンクスにこのスレを挙げさせて頂きました(まだ完成してないですけど)
>>112
すみません、あと一つ質問なのですが、ボタンの上にカーソルを置いた時にSEを
鳴らしたいのですが、エラーが出てエンジンが落ちます
リファレンスを見るとボタンにカーソルが乗った時に音を鳴らすには
BTN "sp4",{on="P(sp1,0)P(sp2,1)"}
on="スプライト操作文字列"
ボタンにカーソルが重なったときに実行する処理を指定します。
"S(test.ogg)" そのサウンドを再生します。
とあります。 つまり
btn "test",{on="S(sound\test.ogg)"}
とすればいい認識なのですが
↓続きます
アップしてきました
ttp://iup.2ch-library.com/i/i1158160-1395674092.png
ここで解決できなければこのような作りは出来ない箇所が多々ありました。
スペシャルサンクスにこのスレを挙げさせて頂きました(まだ完成してないですけど)
>>112
すみません、あと一つ質問なのですが、ボタンの上にカーソルを置いた時にSEを
鳴らしたいのですが、エラーが出てエンジンが落ちます
リファレンスを見るとボタンにカーソルが乗った時に音を鳴らすには
BTN "sp4",{on="P(sp1,0)P(sp2,1)"}
on="スプライト操作文字列"
ボタンにカーソルが重なったときに実行する処理を指定します。
"S(test.ogg)" そのサウンドを再生します。
とあります。 つまり
btn "test",{on="S(sound\test.ogg)"}
とすればいい認識なのですが
↓続きます
118名前は開発中のものです。
2014/03/25(火) 02:13:15.07ID:VBLVhYq7 sp "title:start",{省略}
btnclear "title"
btn "title:start",{on="S=(sound\test.ogg)"}
;ボタン判定
btnexec %ret,"title"
とすると、btnexecの箇所でエラーが出てNS2が落ちます。
しかもなぜか、たまにエラーが出ないケースもありました(セーブデータを消したりしてると)。
ただ、どちらのケースでも鳴らしたいSEは鳴りませんでした
この理由が分かりません
btn "title:start",{on="S=(sound\test.ogg)"}
↑この記述が間違っているとしか考えられないんですが
リファレンス通りに書いてるつもりなんですが、どこかおかしい所ってありますか?
btnclear "title"
btn "title:start",{on="S=(sound\test.ogg)"}
;ボタン判定
btnexec %ret,"title"
とすると、btnexecの箇所でエラーが出てNS2が落ちます。
しかもなぜか、たまにエラーが出ないケースもありました(セーブデータを消したりしてると)。
ただ、どちらのケースでも鳴らしたいSEは鳴りませんでした
この理由が分かりません
btn "title:start",{on="S=(sound\test.ogg)"}
↑この記述が間違っているとしか考えられないんですが
リファレンス通りに書いてるつもりなんですが、どこかおかしい所ってありますか?
119名前は開発中のものです。
2014/03/25(火) 06:44:16.54ID:UqbPk9jC VIP企画ものは即時成果物が鍵だぜ
>bexec
>bexec
120名前は開発中のものです。
2014/03/25(火) 09:33:44.66ID:UqbPk9jC あ、すまん2か
音鳴らす箇所削った状態では正常動作してる?
音鳴らす箇所削った状態では正常動作してる?
121名前は開発中のものです。
2014/03/25(火) 22:13:21.73ID:tr1BN4ke >>118
これはバグっぽいね
応急処置でよければ、「system.lua」の2346〜2348行付近の
(1)
btn_f.btnse:stop()
を
basic_func.SESTOP(15)
--btn_f.btnse:stop()
に
(2)
btn_f.btnse:play{name=prm}
を
basic_func.SEPLAY(15,prm)
--btn_f.btnse:play{name=prm}
に
の2ヶ所を置き換えれば音が鳴るようになります
(SEの15chをボタン音用に割り当ててます)
あと一応
>118の
S=(sound\test.ogg)は構文エラーで、エラー吐かないけど音でないです
>117の
S(sound\test.ogg)こっち正解です
これはバグっぽいね
応急処置でよければ、「system.lua」の2346〜2348行付近の
(1)
btn_f.btnse:stop()
を
basic_func.SESTOP(15)
--btn_f.btnse:stop()
に
(2)
btn_f.btnse:play{name=prm}
を
basic_func.SEPLAY(15,prm)
--btn_f.btnse:play{name=prm}
に
の2ヶ所を置き換えれば音が鳴るようになります
(SEの15chをボタン音用に割り当ててます)
あと一応
>118の
S=(sound\test.ogg)は構文エラーで、エラー吐かないけど音でないです
>117の
S(sound\test.ogg)こっち正解です
122名前は開発中のものです。
2014/03/25(火) 22:20:56.65ID:VBLVhYq7123名前は開発中のものです。
2014/03/25(火) 22:24:27.43ID:VBLVhYq7 >>121
レスありがとうございます。
>記述ミス
すみません、ミスです
両方試しましたが、S(sound\test.ogg)だと強制終了しました
強制終了しなかったのは間違えて=付けてたせいでした
混乱させるようなレスすみませんでした
これって公式にメールでフィードバックした方がいいですよね?
レスありがとうございます。
>記述ミス
すみません、ミスです
両方試しましたが、S(sound\test.ogg)だと強制終了しました
強制終了しなかったのは間違えて=付けてたせいでした
混乱させるようなレスすみませんでした
これって公式にメールでフィードバックした方がいいですよね?
124名前は開発中のものです。
2014/03/25(火) 22:49:42.50ID:tr1BN4ke125名前は開発中のものです。
2014/03/25(火) 22:57:17.97ID:VBLVhYq7126名前は開発中のものです。
2014/03/26(水) 04:04:23.62ID:VNyvE/Qt127名前は開発中のものです。
2014/03/26(水) 20:42:35.06ID:s6+6jsN2128名前は開発中のものです。
2014/03/26(水) 20:53:29.33ID:s6+6jsN2 すみません、3行目以降はコピペミスです
無視して下さい
無視して下さい
129名前は開発中のものです。
2014/03/26(水) 21:08:22.31ID:HHkiILLd ど、どんなコピペミスやねん
130名前は開発中のものです。
2014/03/26(水) 21:09:23.03ID:HHkiILLd ちょっと小さめの効果音ファイル別途に用意する手もあるのよ、解決してるならそれでいいけど
131名前は開発中のものです。
2014/04/08(火) 15:58:36.83ID:6pHi/JlU オフィシャルガイドを見ながら作ってます
movie "test.avi",async,loop@
movie stop
movie "test2.avi",async,loop@
繋ぎ目をクロスフェードするにはどうしたらよいでしょうか?
あと、動画が最前面に表示されるので、一番後ろにやって
ボタンやテキストウィンドウを表示したいので、
ヒントだけでもいただけないでしょうか?
movie "test.avi",async,loop@
movie stop
movie "test2.avi",async,loop@
繋ぎ目をクロスフェードするにはどうしたらよいでしょうか?
あと、動画が最前面に表示されるので、一番後ろにやって
ボタンやテキストウィンドウを表示したいので、
ヒントだけでもいただけないでしょうか?
132名前は開発中のものです。
2014/04/09(水) 00:28:31.03ID:XImuKzOO ・間の繋ぎをムービーでないアニメーションで疑似的にやる
・ムービー二つ編集で繋げた方が早い
・ムービーが最前面ってのはNScripterの仕様、dllで何かあったかもしれんが忘れた
・ムービー二つ編集で繋げた方が早い
・ムービーが最前面ってのはNScripterの仕様、dllで何かあったかもしれんが忘れた
133名前は開発中のものです。
2014/04/19(土) 07:17:09.66ID:7P5Isnlo NS2での暗号化のやり方を教えて下さい
もしくは、サイトを教えてもらえませんか?
もしくは、サイトを教えてもらえませんか?
134名前は開発中のものです。
2014/04/21(月) 14:45:13.08ID:4xw8EZGS135名前は開発中のものです。
2014/04/21(月) 20:13:18.89ID:JYbuQDvo >>134
レスありがとうございます
スクリプトを書いたテキストをプレイヤーに見えないよう、暗号化したいのですが
旧作のnscmake.exeを使ってみたものの、ダメだったので、
2専用のツールが必要なのではと思うのですが、わからず、放置中です。
レスありがとうございます
スクリプトを書いたテキストをプレイヤーに見えないよう、暗号化したいのですが
旧作のnscmake.exeを使ってみたものの、ダメだったので、
2専用のツールが必要なのではと思うのですが、わからず、放置中です。
136名前は開発中のものです。
2014/04/21(月) 20:23:02.07ID:4xw8EZGS NScripter2開発ツールフォルダ内に入っていますよ
nscr2.exeがそれです
起動後、1を選択→各ライブラリがあるフォルダを選択すればパッキングできます
nscr2.exeがそれです
起動後、1を選択→各ライブラリがあるフォルダを選択すればパッキングできます
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★2 [ごまカンパチ★]
- 【・(ェ)・】「くまちゃんがいた」散歩中の2歳園児が発見 クリ林に1頭のクマ…保育士「ワンちゃんだね…」と声かけて移動 [Ailuropoda melanoleuca★]
- 【大阪】日本一高い観覧車が落雷で緊急停止 約20人乗客が閉じ込められ9時間にわたり救助活動 [七波羅探題★]
- 【芸能】人気ゲーム実況者が一定期間の活動休止を発表「彼女以外の女性複数人と関係を持った」 [湛然★]
- ラピダス、第2工場建設でも見えぬ顧客 技術開発も難題山積 [蚤の市★]
- 【芸能】安達祐実 44歳の最新姿「ぇーーーーー!!!」「声出た」「なんなの」「まって」「ワオ」 [湛然★]
- 【悲報】小野田紀美「私のドレスは日本の正礼装なんだが?ダサいと言ってるやつは日本文化を否定し国内ブランドを貶したいのか?」 [802034645]
- たぬかなはん、ちょっとクズすぎなんじゃね? [267550838]
- 【悲報】『たぬかな』ファンのホビット、絶望「こうして36歳年収650万円身長155cmの底辺独身男性が残りましたとさ…どうすればいいんだよ [257926174]
- 高市ジャパン、核融合開発に1千億円の超大規模投資!これで日本の未来は安泰だね [668970678]
- まんこライン丸見えのぴっちりレギンスなど、アスレチックとレジャーを融合させた『アスレジャー』というファッションジャンルが流行 [377482965]
- 日経「ギャー!中国がおやびんと高市さんの仲を引き裂こうとしてる!」中国、台湾問題で日米の分断狙う [834922174]
