Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130184
次のページ(過去)
返信[5]
親投稿
たまたまタイミングがかぶったみたいですね〜。 けんさんの方がスクリーンショット付きで詳しそうな感じがしますけどね
0そうだね
プレイ済み
返信[2]
親投稿
スプライト自体の出し方は、上記のツールで調べたスプライト定義番号を利用して、 SPSET 管理番号,定義番号 という命令で表示出来ます。管理番号は自分で割り当てるものなので通常は0から順番につかっていきますね。 たとえば定義番号500の赤髪の勇者を表示したければ、 SPSET 0,500 という風にすれば画面左上に表示されます。
0そうだね
プレイ済み
返信[1]
親投稿
キーボード中央下に表示されているSMILEボタンって知ってますか? そこをタッチすると公式のスマイルツールというのが起動して、そこのSPDEFを選んだときに表示されるキャラがスプライト定義番号になりますよ。 あともう一つ(こっちが本題?)、僕のプロフィールで紹介しているPUCHIPACKに含まれているPUCHI-VIEWというソフトが、このスプライト定義番号を確認するために便利な専用ツールになっているので、興味があったらダウンロードしてみてください〜。
0そうだね
プレイ済み
返信[9]
親投稿
ふむふむなるほど〜。 NEW 3DSではいくつの数字が返ってくるのか気になりますね〜。というかその割合でウエイトの回数を調整出来るのかな? 3DSで10でNEW 3DSで5だったらウエイトの回数を倍にする、みたいな?
0そうだね
プレイ済み
返信[7]
親投稿
あ。ちょっと僕の意図がちゃんと伝わってなかったかも…。 MAINCNTは1/60秒で1カウントなんです。 なので、それとは別に、自分でもメインループの回数をカウンターでカウントしておいて、MAINCNTが1増えたタイミングで、そのカウンタがいくつになってるか調べてみる感じです。 それでカウントが予定より多かったら、その分多くのループを回っていると言うことになるので、自分のウエイト用のFORループのカウント回数を増やしてメインループの時間が間隔が長くなるように少しずつ調整していくという感じで…。ってイメージ伝わりましたかね? まあ自動判別が出来てその切り替えで問題なさそうなら大げさな感じもあったので、とりあえず考えてみたってだけの話でしたが〜…。
0そうだね
プレイ済み
返信[3]
親投稿
ぶつかったときに進めなくするには、今は直接キー入力によって座標を変更していますが、それを一時的に別の変数に入れて、その変数の移動先をあらかじめ調べて問題ない(動ける場所)なら実際に座標に加算して、駄目なら加算しないようにすれば、ぶつかったときには動かないようにすることが出来ますよ。
0そうだね
プレイ済み
返信[2]
親投稿
ちなみに補足。もしキャラクターのいる辺りのBGを調べたいのであれば、キャラクターは中央固定のようなので、154,155は LOCATE 0,2:?BGGET(0,190+8,112+16,1) LOCATE 0,3:?BGGET(1,190+8,112+16,1) とすれば大体キャラの足元ぐらいのBG番号が表示されるようになります。190と112はSPOFSで設定したキャラの位置ですが、このキャラクターは原点が左上みたいなので8と16を足してキャラの中央足元の位置を調べるように変更しています。
0そうだね
プレイ済み
返信[4]
親投稿
試してないので出来るかわからないんですが、MAINCNTが1増えるまでにループした回数を計測して、そのループ回数によってFORのウエイト回数を調節するようなプログラムを書けばVSYNCに頼らずVSYNC以上の速度をある程度調節ってできないですかね? まあでも3DSとNEWの違いだけなら両方でちょうど良い数字を見つけて埋め込むだけでも問題ないのかな…
0そうだね
プレイ済み
返信[1]
親投稿
BGGETの使い方を間違ってないですか? 今のコードだとBGはレイヤー0と1の座標(8,8)のほぼ左上の部分をチェックしているようですが、その点においては正しく判定されていると思いますよ。
0そうだね
プレイ済み
返信[6]
親投稿
僕も始めは省略しないことにしてたんですが、プチコンの場合は表示桁数の問題でどうしても短い方が最終的に見やすくする調整がしやすいということもあって?を利用するようになりましたね。 始めは?は省略しすぎな気がしてダイレクトモード用の?的な位置づけで考えていたんですが、やっぱり使っていくと考え方は変わるものです。
2そうだね
プレイ済み
返信[206]
親投稿
ちょっとオマケです。NKA3NERS まだ未完成ですが、提供してもらったサンプルマップを歩けるように改良したです。アトリビュートは公式ツールの方でつけてます。 まだ当たり判定を正確にしてないのでめり込む分本来は上に表示されるBGの隙間からはみ出して見えたりしますが、これは当たり判定が正確になれば直るので今はスルーしてます。 Bの段差の部分をどうするか含め、僕のツールでのアトリビュート機能実装などの問題が解決しそうなら、このサンプルをもっと正式なものに仕上げていこうと考えています。(そうじゃなくても遅くなると思いますがせっかく提供してもらったサンプルなので、最終的には利用する予定です) 提供された部分のレイヤーに対するBG配置はかなりいじってます。まだこれがベストかわかりませんが、動ける場所、動けない場所、その他の機能などを考慮して最終的に調整する予定です。
2そうだね
プレイ済み
返信[1]
親投稿
名前は英語に強いと決めやすいのかもしれませんが、僕は英語が苦手なので名前を決めるのは大変ですね〜…。
3そうだね
プレイ済み
返信[9]
親投稿
ちなみに基本的にはGOTOは使わなくても大丈夫なんですよ。上記の例だと例えば、 WHILE 1 BT=BUTTON(1) IF BT=16||BT==32 THEN BREAK WEND IF BT==16 THEN ?"Aボタンをおしたなぁ。ゆるさぬ!" ENDIF END とすれば動作上同じでGOTOやラベルは出てこなくなります。
0そうだね
プレイ済み
返信[7]
親投稿
ふつうにやるならかつみさんのやり方がベストだと思いますよ〜。今回はあえてFORを使ってみてるのかな、と。 ちなみにFORを使った変則的なやり方としては、 FOR I=0 TO 1:I=BUTTON(1)==16:NEXT なんて書き方もありますよ。まあ素直にWHILEかREPEATを使った方がいいと思いますけどね〜。
1そうだね
プレイ済み
返信[2]
親投稿
有効性はともかくとしてループのラベルを使わないのに飛ぶためのラベルを使ってるのは惜しいので、ボタン判定ではIを大きな数字にするか、BREAKするかした方がいいかも?
0そうだね
プレイ済み
返信[6]
親投稿
歴史的にはFORTRANが起源っぽいですが、感覚的にはIndex的なイメージの方が大きいですね。で、Iから始まるので(歴史的に?)J,Kと多重ループだと使う場合も多いですね。 それ以外では意味合いがはっきりしていればX,Y,Z,N,C辺りは使いやすいループ変数代わりかなって思っています。
2そうだね
プレイ済み
返信[14]
親投稿
そうでしたか〜。了解です。 ちょこっとソースを見て思ったのは、一旦ちょっと整理したりした方がいいのかなぁ、と。バグが直せないのはバグが直しにくい状態になってるとも言えるので…。 とはいえ自分の出来る範囲で頑張っているとも言えると思っているので、引き続き頑張ってください〜。
1そうだね
プレイ済み
返信[6]
親投稿
そうですね〜。僕も色んな言語をやってたんで、その辺りは言語によってOKだったりNGだったりした事もあったような気がしたんで、基本的には丁寧に指定してしまっていたところもあります。またスタートINDEXをマイナスにすれば後ろから数えることになる言語もありますしね。(プチコンはNGでしたが)
1そうだね
プレイ済み
返信[4]
親投稿
けいさんのプログラムを見て気づいた事で、MID$で長さが実際の文字列より長くてもエラーにはならないってのもありますよね。前に先頭の1文字を削るときに丁寧に、 S$="TEST" T$=RIGHT(S$, LEN(S$)-1) みたいにしていたんですが、けいさんが、 T$=MID$(S$,1,255) みたいな記述をしていたのをみて、そういえば丁寧に指定しなくてもそこはエラーにならないから、長さが実際の文字列より十分長い値を指定しておけば切り出せるんだなって思いました。
1そうだね
プレイ済み
返信[12]
親投稿
ちなみに注意の 「ブロックのおく位置とブロックを消す位置が違う」 ってのはバグですか?
0そうだね
プレイ済み