Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
134 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54154
次のページ(過去)
返信[4]
親投稿
おちゃめ ochame_nako
プチコンBIGというのはコンピュータです。 コンピュータというのは基本的に人間が指示してあげないと動けないし、曖昧な指示では動くことができません。 その指示をコンピュータに分かる形で記述したものが「プログラム」です。 つまり、プログラムというのは何も知らない(与えられた指示通りのことしかできない)プチコンBIGさんに「こうやって動いてね」というのを書けば良いだけです。 例えば PRINT"プチコンBIG" と記述すれば「プチコンBIG」というのを画面表示をしてくれますが、画面のどこにどんな色で表示するかというのはきちんと教えてあげないと分かりません。 こうやって、細かい指示を具体的に行う必要があるのです。 どんな複雑なゲームもこのような具体的な指示をどんどん記述して作られていきます。
2そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
マウス処理を作ったので参考にしてみてください。 変数SPDの値を変えるとマウスの速度を調整できます。
1そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
それは「恋の病」です。 魔法使いちゃんに恋しましたね。 もっとも簡単な解決方法は魔法使いちゃんを前面に出したゲームを作ることです。 恋が実るといいですね。
13そうだね
プレイ済み
返信[18]
親投稿
おちゃめ ochame_nako
BlackSoftさんへ プチコンmkIIではコロンどころかスペースでも1個あたり60ナノ秒くらいの処理時間がかかっていましたね。 これはインタープリタ方式だと当たり前のことで高速化を追求したプログラムでは古くから余分なスペースやコロンや改行を無くすというのが常套手段でした。 プチコン3号では実行時に仮想マシンコードへと変換されます。要するに構文チェックと中間コードへの変換が実行した時点で終わっているためスペースやコロンによる速度低下は理論上起きることはないのです。
4そうだね
プレイ済み
返信[14]
親投稿
おちゃめ ochame_nako
自分が作るゲーム内での動作であれば物理法則にしたがってないといけないというルールはありません。 「自分はこういう動作をさせたい」という意図があれば仮に物理法則的に間違っていてもそれで正解といえます。 しかし、簡易的とはいえ物理シミュレーションならばある程度は物理法則にしたがって動作させる方が良いですね。自然な動きというのもそれを理解した上で作るとあっさりできたりします。 数学や物理の知識はゲーム作りに必ずしも必要とは言えませんが、知識があるとゲーム作りが楽になる(ゲーム作りの幅を広げてくれる)というだけです。
0そうだね
プレイ済み
返信[13]
親投稿
おちゃめ ochame_nako
あとはX、Y方向の初速を変えたり、壁や床の反発係数を変えたり、空気抵抗を変えたりするといろいろ動きが変わるので自分が面白いなと思った動きをゲームに採り入れると良いでしょう。例えば2箇所ある0.009という空気抵抗係数を0.03くらいにするとすごいふわふわしたボールになります。 上記の改造プログラムではボールを自然に回転させるためにANG=ANG+XP*7.2としているのですが、7.2という値は数値を変えていって自分が自然だなと思える値でも良いけど計算で簡単に求められます。 ボールの半径は8ドットなので外周は16πドットなります。 1回転は360度(SPROTの角度設定はラジアンではなく度であるため)なので360÷16π≒7.2ということです。(ANGなんて変数を用意しなくてもSPROT 0,HX*7.2でも良いけど移動量と角度が比例しているのを分かりやすくするためこうしている)
0そうだね
プレイ済み
返信[12]
親投稿
おちゃめ ochame_nako
X方向の動きを自然にするためにはXPとDXという2つの速度を一本化してみましょう。 2つに分けているのは壁に当たった後と前とで移動量の正負が反転するため停止処理がうまくいかなかったためだと推測しますがIF XP<1 THEN X=0というのはIF ABS(XP)<1 THEN XP=0とすればどちらの向きでも対応が可能になります。 というわけで、X方向の動きを改善したリストが下記のものです。 なお、ボールを画面内で停止させるため壁の反発係数を0.6に変えて空気抵抗係数も0.09では大きすぎると感じたので0.009に変えました。それに伴い停止処理のしきい値も1から0.1に変更しています。 ついでにボールが回転するようにしてみました。(ボールを回転させるためSPHOME 0,8,8としてスプライトの基準点を変更し地面との衝突処理もHY>214からHY>222に変更しています)
0そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
この31行、32行の部分に関しては意図通りの動作とは思えないためこういう感じでXPの値を0にする処理の後にHXの加算処理を入れるとよいです。 IF LK==1 THEN   XP=XP-0.09   IF XP<1 THEN XP=0   HX=HX+XP ENDIF これで止まらずにずっと動き続けるということが無くなります。
0そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
このプログラムはY方向に関しては重力加速度が0.1、速度はG、床との反発係数が0.7ということで動作面においては問題はないのですが、X方向に関してはXPとDXという2つの速度(?)が存在していてるし0.09という謎の加速度(空気抵抗?)があるため挙動が不自然になっている部分があります。 それは一旦おいといて、プログラム的に一番気になったのは32行の処理です。 「XPが1より小さくなったら0にする」というのは「一定以下の速度になったら静止する」という処理でありこれ自体は問題はないのですが、肝心の座標への加算処理となるHX=HX+XPがその「0にする処理」よりも前になるためこのプログラムでは永遠に0.09ずつ動き続けてしまいます。
0そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
だにえるさんへ プチコン3号ではARGBが実質1bit、5bit、5bit、5bitとなっていますがAが0の時でもR、G、Bが0以外であれば「見た目が透明でありながらGSPOITでは0にならない」という問題が発生してしまいます。 これは一見不便な仕様ですが、実は「見えない当たり判定を付けられる」ということで使い方次第ではすごく便利になったりします。
4そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
もちろん、計算によって求めることも可能です。この直線は一次関数であり、座標(0,0)と(399,239)を結んでいると思うので概ねY=0.6*Xになっていると思います。 当たり判定を行う点の座標が(100,70)であれば0.6*100と70を比較して70の方が大きいため「線より下に位置する=当たっている」というわけです。 当たり判定を行う物体(点)の座標が(X,Y)ならば「IF 0.6*X>Y THEN 当たったときの処理」となるわけです。(画面外は考慮していないため別途必要になります) 点ではなく矩形(正方形や長方形)との当たり判定であればその4つの頂点を元に判定を行ってください。 当たり判定には様々な方法がありますので自分のゲームに適した方法で行うのが良いでしょう。
3そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
当たり判定の方法というのは対象の物体の形状で変わってくるのですが、最も簡単な点とこの線との当たり判定とします。 点というのはキャラの足下の中心座標と考えると分かりやすいでしょう。 単純にGSPOITで色を取得する方法でも問題はないのですが、太さ1ドットの線の場合は移動速度が1フレームあたり1ドットを超えると正しい判定はできなくなります。(斜め方向の線ではさらに遅い速度でも判定ミスが起こる) 当たり判定のそのものを60fpsではなく600fpsで処理するという方法で改善も可能ですが、「線ではなく坂道」ということなので線より下の空間にも当たり判定があるためもっと簡単な改善方法があります。 最も簡単なのはこの線の下側の空間をGPAINTでRGB(0,0,0,0)以外の適当な色で塗りつぶしてください。 そうすればGSPOITで値を取得するだけで簡単に判定が可能です。
2そうだね
プレイ済み
返信[24]
親投稿
おちゃめ ochame_nako
二次創作(あくまで公式を「モチーフ」としただけの創作物)の場合はアウトとセーフの線引きが難しいためグレーゾーンと呼ばれていて著作権者の判断に委ねられるのですが、公式そのまんまのドット絵であれば暗号化されようとデータ形式を変えようと著作権が消尽することはないため公開した時点でアウトです。(引用は除く) 端的に言えばデジタルデータなんてすべて0と1の羅列です。JPEG画像とPNG画像はその配列が異なるわけですが、PNG画像だったものをJPEGに変換すれば違う画像だからOKにならないのと同じく暗号化しても0と1の羅列が変わるだけであり復号化可能な時点でアウトということです。(暗号化するとバレにくいというだけの話) データを元に公式絵そっくりなものをプチコンでリアルタイムで描というのは暗号化と同じくバレにくくするためだけの手法です。(自分の絵を表示するならば何ら問題はない)
1そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
これはいわゆる「処理落ち」です。 動作が重くなって1フレーム以内に処理が完了しない場合にこうなります。 なぜ、そんなに重いかというと今まで撃った弾を毎回すべて表示しているためです。 画面外に出た弾の数が変数SZに入っているので FOR I=SZ TO S-1 とすれば高速化に繋がるだけではなく無駄に多くの配列を確保する必要も無くなると思います。 あとプチコンのFOR~NEXTは(きざみ値が正数の場合)終了値の方が開始値より小さくなっているとループ内は実行されないためIF S==0 THEN BREAKという処理は無くても問題ありません。 それから発射と移動のボタンの同時押しができないとか弾の先頭のY座標は前回発射したY座標になっているのも気になりましたが、これが仕様でないならば頑張って改善してみてください。
3そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
大きな違いといえば「携帯機用」と「据え置き機用」ということです。 プチコン3号は3DSという携帯機で使用できるため本体さえあれば他に何も要りません。もちろん、どこでも手軽に使用できます。 プチコンBIGは据え置き機用であり電源がある場所でしか使用できません。(TVもあった方が良いけど無くても使用は可能) 据え置き機ということでコントローラだけではなくWiiリモコン等の周辺機器にも対応しているし、USBキーボードを使えばプログラミングを楽に行うことができます。(プチコン3号はキーボードには対応していないため画面表示されたキーボードをタッチしながらプログラミングをする) あと当然ながら据え置き機であるWiiUは携帯機である3DSよりは高速です。New3DSと比べると約3倍、旧3DSと比べると約10倍高速です。 どちらが良いかは一長一短なので自分が使いやすい方で良いと思います。
2そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
「勉強」というより「創作」ですね。 「何か作ってみたいものがある」というのであればぜひやってみてください。 自分で作ったゲームやツールがWiiU上で動いているというだけで何ともいえない喜びがあります。 最初は誰でもレベル1の初心者です。 しかし、RPG等で経験値を獲得していけばどんどんレベルアップするのと同じくプチコンBIGでは自分自身をレベルアップさせることで様々なものが作れるようになります 遊びながら楽しく経験値を稼いでいきましょう。
2そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
小数だと誤差が出るため個人的にはメインルーチン内では1ずつ足して表示の段階で60で割るのをおすすめしたいです。
4そうだね
プレイ済み
返信[41]
親投稿
おちゃめ ochame_nako
アダルティなアドレーヌちゃんですね、了解しました。 どちらかというと子供っぽいキャラの方が得意なのですが頑張って描いてみますね。 完成したらこのトピックスで公開するので楽しみにしておいてください、
3そうだね
プレイ済み
返信[39]
親投稿
おちゃめ ochame_nako
今大会に多くご参加いただきありがとうございました。 来年も開催しようと思うのでその時はご参加ください。 このトピックスはもうしばらく開けたままにしますので何かご意見ご感想等あればどんどん書いていってください。
0そうだね
プレイ済み
返信[38]
親投稿
おちゃめ ochame_nako
本大会はこれにて終了します。 優勝者は共感数5を獲得しただにえるさんです。 だにえるさんには優勝賞品として私の描きおろしイラストのキャラを差し上げますので希望のキャラ1名(ただしMiiverseの規約に違反しない女性キャラ限定)を連絡ください。 好みのシチュエーション等あればできるだけ希望に沿うようにします。 ちなみに昨年優勝したこりんごさんにはこんなイラストを差し上げました。
0そうだね
プレイ済み