[もどる]
一括表示
0242 ちょっと質問なのですが
投稿者: 2005/06/22(水) 21:34

ジョイパッドのボタン割当機能を作成しようと思ったんですが、例えばボタン1を入力された時に、ボタン2が押下されたと認識させた上でIFコマンドなどを処理させる事って可能なんでしょうか?(^^;

IFコマンドに文字列変数$を使うとエラーが出てしまいますし、システム変数にシステム変数の代入もできないので手詰まってしまいまして、恐縮ですが何か方法があればご教授頂きたいんですが…。
お願いします。m(__)m

0243 ボタン割り当て
投稿者:たくみ 2005/06/24(金) 06:10

樹さんどもです〜(^^

> ジョイパッドのボタン割当機能を作成しようと思ったんですが、例えばボタン1を入力された時に、
> ボタン2が押下されたと認識させた上でIFコマンドなどを処理させる事って可能なんでしょうか?(^^;

なるほど、そういうことでしたら、専用の変数を用意するというのはどうでしょうか?
例えば、

//----------------------------------------
INT[@PAD_FLAG(10)]

CG[NO=10 FILE="cg/back.jpg"]

LOOP[]

//----- 各ボタン押下状況をフラグとして保存 //※1
@PAD_FLAG(1) = @_PAD_BUTTON1
@PAD_FLAG(2) = @_PAD_BUTTON2

//----- もしボタン1が押されていたら
IF[@PAD_FLAG(1)==1]
CG[NO=10 X+=1] //処理
IFEND[]
//----- もしボタン2が押されていたら
IF[@PAD_FLAG(2)==1]
CG[NO=10 X-=1] //処理
IFEND[]

WAIT[FRAME=1]

LOOPEND[]
//----------------------------------------

上のサンプルのように、押下状態を一度変数に保存しておいて、
で、もしボタン1と2の割り当てを逆にしたかったら、※1のところを、
@PAD_FLAG(1) = @_PAD_BUTTON2
@PAD_FLAG(2) = @_PAD_BUTTON1
とすれば簡単に逆になるかと思います(^^
もし見当違いの事を言ってたらご指摘下さいね(^^;ゞ

> IFコマンドに文字列変数$を使うとエラーが出てしまいますし、システム変数にシステム変数の代入も
> できないので手詰まってしまいまして、恐縮ですが何か方法があればご教授頂きたいんですが…。

あ、そうなんです…現在、まだIF文での文字列変数の比較ができないのです…;
それに関しては現在コードを1から書き直し中です。
あとそれと同時に論理演算子(AND,OR)も対応する予定です。
今週の更新に間に合うか…。

0244 おお〜♪
投稿者: 2005/06/24(金) 12:45

おはやいレス感謝です〜♪

しかも丁寧な説明付きで・・・嬉しい限りです!
ありがとうございます(^_^)ノシ

早速ご指南頂いた方法を試行してみまして、ボタン1でも2でも反応させる事ができました!
スゴイですー♪

それで、チョット思ったんですけど、ゲームプレイヤーにボタンの割当をさせる場合
> @PAD_FLAG(1) = @_PAD_BUTTON1
> @PAD_FLAG(2) = @_PAD_BUTTON2
上記@_PAD_BUTTONの部分にどのボタンが割り当てられるのかをオプション画面等で決定させる場合、文字列変数に@_PAD_BUTTON1を代入して、それを@PAD_FLAG(1)=と併用する事が不可能ですよね…?

例:
オプション画面
IF[@_PAD_BUTTON1==1]
$PAD_1="@_PAD_BUTTON1"
ELSE[@_PAD_BUTTON2==1]
$PAD_1="@_PAD_BUTTON2"
上記をsystem.sdに変数保存
--------------------------------------
ゲーム本編
system.sdに保存した変数をロード
LOOP[]
@PAD_FLAG(1) = $PAD_1 //これは代入不可能
@PAD_FLAG(2) = $PAD_2 //同上
・・・(以下略

上記の様な状態で制作が手詰まってしまうんです(−−;

> あ、そうなんです…現在、まだIF文での文字列変数の比較ができないのです…;
> それに関しては現在コードを1から書き直し中です。

素敵ですね☆
大変だと思いますが、心の底から応援しています!
あんまり無理はなさらずに、でも頑張ってください♪

0245 分岐
投稿者:たくみ 2005/06/25(土) 00:30

どもです〜(^^

> 例:
> オプション画面
> IF[@_PAD_BUTTON1==1]
> $PAD_1="@_PAD_BUTTON1"
> ELSE[@_PAD_BUTTON2==1]
> $PAD_1="@_PAD_BUTTON2"
> 上記をsystem.sdに変数保存
> --------------------------------------
> ゲーム本編
> system.sdに保存した変数をロード
> LOOP[]
> @PAD_FLAG(1) = $PAD_1 //これは代入不可能
> @PAD_FLAG(2) = $PAD_2 //同上
> ・・・(以下略
>
> 上記の様な状態で制作が手詰まってしまうんです(−−;

あ、なるほど。
@PAD_FLAG(1) = $PAD_1
確かにこれはちょっとムリですね(^^;ゞ
この場合、あくまで文字列そのものを変数に代入するだけなので…。
で、この場合代入先が数値変数なので、エラーとなってしまう感じですね。

そういうことでしたら、またひとつ変数を作って、
押下状態をフラグとして代入させる箇所も条件分岐させてしまうと良いと思います。

//----------------------------------------

INT[@PAD_FLAG(10)]

CG[NO=10 FILE="cg/back.jpg"]

LOOP[]

//----- 各ボタン押下状況をフラグとして保存
IF[@PAD_SETTEI==1] // コントローラ設定がタイプ1なら
@PAD_FLAG(1) = @_PAD_BUTTON1 // ボタン1がショット
@PAD_FLAG(2) = @_PAD_BUTTON2 // ボタン2がボム
IFEND[]

IF[@PAD_SETTEI==2] // コントローラ設定がタイプ2なら
@PAD_FLAG(1) = @_PAD_BUTTON2 // ボタン1がボム
@PAD_FLAG(2) = @_PAD_BUTTON1 // ボタン2がショット
IFEND[]

//----- ショットボタンが押されていたら
IF[@PAD_FLAG(1)==1]
CG[NO=10 X+=1] //処理
IFEND[]
//----- ボムボタンが押されていたら
IF[@PAD_FLAG(2)==1]
CG[NO=10 X-=1] //処理
IFEND[]

WAIT[FRAME=1]

LOOPEND[]

//----------------------------------------

ひとまずオプション画面では、ユーザーにボタン設定をしてもらい、
その設定を @PAD_SETTEI に格納しておきます。
@PAD_SETTEI の値が1なら、ボタン1がショット、ボタン2がボム、
@PAD_SETTEI の値が2なら、ボタン1がボム、ボタン2がショットとしてみました。

で、今回のサンプルは、前回と比べてもらうと分かりやすいと思いますが、
押下状態をフラグとして保存する際に、@PAD_SETTEI の値によって分岐をおこなってます。
これで問題なく出来ると思います(^^
また、条件分岐のところをいじったり、設定用変数を増やしたりすれば、
もっと複雑な設定でも出来ると思います(^^

> 大変だと思いますが、心の底から応援しています!
> あんまり無理はなさらずに、でも頑張ってください♪

ありがとうございます!(@@ノ
ちょっと今のところ更新が滞っていますけど、早く次の更新目指して頑張ります!

0246 すごいですー!
投稿者: 2005/06/25(土) 13:26

できました!
たくみさんありがとうございます♪

YU-RISってアドベンチャーに限らずほぼ全てのジャンルで幅広く使えるエンジンですね☆

わかりやすいレスなど、重ねて感謝です!

0253 恐縮ですが
投稿者: 2005/07/21(木) 15:21

またまた質問をさせて頂きたいと思いますm(__)m

■画像形式についてなんですが、YU-RISがGif形式を採用されないのは、過去のライセンス問題のせいなのでしょうか?
それとも原則256色しか扱えない汎用性・品質の低さからなのでしょうか?
スクリプトとは別に独自のタイムラインでアニメーション画像の使用をしたいのですが、やはりAVI形式を使うのみになってしまうんでしょうか…?
(外部プラグイン仕様でもGifアニメやMNG形式の実装は予定されないんでしょうか?)

■あと、AVI形式でマスクを扱う場合、マスクファイル・被マスクファイルを共にAVI形式として、MOVIE2命令を使う…で使い方で間違ってませんよね…?
また、CGレイヤーに挟んでAVIを使う事は可能なんでしょうか?
(一応試してみたんですが、MOVIE命令の際は表示されるAVIが、MOVIE2命令でマスク適応した途端に画面真っ白になってしまったので…多分私自身の概念の理解が間違っている可能性が非常に高いのでご迷惑かと思いますが質問させていただきます)

0254 GIF形式
投稿者:たくみ 2005/07/24(日) 18:53

樹さんどうもです。

> YU-RISがGif形式を採用されないのは、過去のライセンス問題のせいなのでしょうか?
> それとも原則256色しか扱えない汎用性・品質の低さからなのでしょうか?

そうですね…、主としてはやはり色の制限でしょうか。あとは実装の優先順位の問題ですね。
まず先に必要な他の機能を、ということでいまのところ後回しになっています。
ひとまず検討中の段階ですけど、対応させたいとは思っています(^^

> スクリプトとは別に独自のタイムラインでアニメーション画像の使用をしたいのですが、
> やはりAVI形式を使うのみになってしまうんでしょうか…?
> (外部プラグイン仕様でもGifアニメやMNG形式の実装は予定されないんでしょうか?)

なるほど…現段階ではAVI形式のみですね。すみません。
GIF形式およびGIFアニメーション形式は検討中です。
どういう仕様なのかまだ調べたことなくて…すみません;
YU-RISの仕様と相性(?)が良い感じならぜひ対応してみたいと思います(^^
MNGもですね。

 将来的には、ゲーム組込用ムービーと言いますか、YU-RISの仕様に特化した、
独自形式のムービー(アニメーション)ファイルをサポートしたいと考えています。
AVIファイルに代わる独自ムービーファイルとして使えるようにして、
どんな環境でも問題なく再生されるようにしたり、もっと柔軟な再生とか
できるようにしたいなぁと、考えています。

> ■あと、AVI形式でマスクを扱う場合、マスクファイル・被マスクファイルを共にAVI形式として、MOVIE2命令を使う…で使い方で間違ってませんよね…?
> また、CGレイヤーに挟んでAVIを使う事は可能なんでしょうか?
> (一応試してみたんですが、MOVIE命令の際は表示されるAVIが、MOVIE2命令でマスク適応した途端に画面真っ白になってしまったので…
> 多分私自身の概念の理解が間違っている可能性が非常に高いのでご迷惑かと思いますが質問させていただきます)

あっと、すみませんっ! 確認しましたところバグのようです。
どうやら MOVIE2 命令で AVIファイルを複数読み込むとどうも正常に表示されないようです。
考え方的にはそれでOKですー。
ひとまず、至急修正します><;

0257 バージョンアップお疲れ様です。
投稿者: 2005/08/10(水) 17:49

早急なGif形式への対応も合わせてお疲れ様でした&ありがとうございます。
アニメGifや、独自の画像形式については期待しつつ気長に待ってます♪

さて、毎回の如くで非常に申し訳ないのですが、一つお願いが…。
パッドシステムについてなのですが、ジョイパッドの対応数を可能であれば増やして頂きたいんですが、“1コンと2コン”の様に、2つのコントローラーを同時に認識させる事って可能なのでしょうか?

ご多忙の折に我侭を申し訳ないんですが、可能であればご対応をお願いしたいです。
ご検討をお願いしますm(__)m

0258 了解ですー
投稿者:たくみ 2005/08/11(木) 21:50

こんにちはー。

> アニメGifや、独自の画像形式については期待しつつ気長に待ってます♪

アニメーションGIFの実装のほうは仕様的にも良い感じで対応できそうです(^^

> さて、毎回の如くで非常に申し訳ないのですが、一つお願いが…。

いえいえ、どんどんください(^^

> パッドシステムについてなのですが、ジョイパッドの対応数を可能であれば増やして頂きたいんですが、“1コンと2コン”の様に、2つのコントローラーを同時に認識させる事って可能なのでしょうか?

おぉ、ついにご要望が!
実は複数パッド対応に関しては、前々から早く対応させなければぁと私も思っていましたので、
それでは近いうちに実装したいと思います。

0266 お久しぶりです
投稿者: 2005/09/17(土) 10:29

ジョイパッドの対応ありがとうございました♪
早速使わせて頂いてます!

また、バージョンアップもお疲れ様でした☆

それでですね、一つ気になったんですが・・・
サウンドコマンドのボリュームについてなんですね、私はWindowsMediaPlayer8で動作させており、oggは未確認ですが、wavファイルでボリュームの値を変動させても音量が変わってない気がするんです…。
あくまで私の体感ですので、間違っていたら申し訳ないんですが…
一応ご報告までですー

あと、質問なんですが、ランダム関数についてなんですが、CGIにあるような「1〜99まで」の中でランダムな数字を選出する…みたいな、ランダムに選出される幅を事前に決定させる事を、ランダム関数のみでできるんでしょうか?

0267 こんにちは(^^
投稿者:たくみ 2005/09/18(日) 14:09

樹さんどうもです(^^

> wavファイルでボリュームの値を変動させても音量が変わってない気がするんです…。

うあ、本当ですか(><;
ご報告有り難うございます。
ちょっと今は確認できない状況でして、確認が取れ次第、急きょ修正しますです。
oggは大丈夫な筈なので、wavだと発生する現象なのかな…。

> CGIにあるような「1〜99まで」の中でランダムな数字を選出する…みたいな、
> ランダムに選出される幅を事前に決定させる事を、ランダム関数のみでできるんでしょうか?

幅ということはつまり、時には1〜30だったり、また時には15〜50だったり、という事ですかね。
それでしたら、MATH 命令の RND のみで可能ですよ。
例えば、Aの値〜Bの値までの中からひとつの数値を選んでSに格納する、と考えると、

INT[@A]
INT[@B]
INT[@S]

MATH[RND=1 LET=@A SET=1 SET2=100] // Aの値を1〜100の中から決める
MATH[RND=1 LET=@B SET=1 SET2=100] // Bの値を1〜100の中から決める
MATH[RND=1 LET=@S SET=@A SET2=@B] // A〜Bの中から数値を決める.

と、こうなります。
こんな感じでしょうか。
根本的に勘違いしていたらすみませんです(_ _;ゞ

0269 修正しました
投稿者:たくみ 2005/09/19(月) 22:23

WAVE再生まわりで不具合を発見しまして、
早速Ver0.174にて修正させていただきました。
いつも貴重なご報告有り難うございますm(_ _)m

0270 修正ありがとうございました
投稿者: 2005/10/06(木) 07:42

早速使わせて頂いてます☆
いつもありがとうございます♪

> 幅ということはつまり、時には1〜30だったり、また時には15〜50だったり、という事ですかね。
> それでしたら、MATH 命令の RND のみで可能ですよ。
> 根本的に勘違いしていたらすみませんです(_ _;ゞ
マニュアルにも書いてありましたね…すみません、そのやり方で大丈夫でした。

あと、ちょっと質問なのです。
時期バージョンアップにて透過PNGが対応されるとの事なのですが、8bitの透過のみなのでしょうか?
それとも32bitのαチャンネルにも対応されるのでしょうか?

時期バージョンアップを心待ちにしてます☆

0273 大丈夫です〜
投稿者:たくみ 2005/10/10(月) 21:52

樹さんどうもです(^^

> 時期バージョンアップにて透過PNGが対応されるとの事なのですが、8bitの透過のみなのでしょうか?
> それとも32bitのαチャンネルにも対応されるのでしょうか?

はい。フルカラーの透過も大丈夫ですよ(^^
これで BMP, PNG, JPG, GIF, AVI に関しては完了といったところでしょうか。
次はPSDの読込に対応させたいと考えています(^^
レイヤ構成とかをそのまま読み込むことが出来れば、デバッグ時にかなり便利かと思います。

> 時期バージョンアップを心待ちにしてます☆

ありがとうございます(^^
他にもいろいろと出来る様になりますので、もうしばらくお待ちくださいませm(_ _)m