ON GOTOでもループ作れますよ。
というかラベルと組み合わせれば、プログラムの流れを変える命令なら全部ループを作るの可能ですよ。
例えば
@LOOP
ー 処理 ー
IF !A THEN @LOOP
と書くと(Aは任意の変数)簡易的なREPEAT~UNTILの代わりになりますし。
あと、顔文字が時間経過で自動的に変化しながら、且つ十字キーでの操作に対応させるのが当面の目標だったんですよね?
VSYNCで時間経過を処理すると、そこで一切の処理が待ち状態になるので、当然ながらBUTTON()関数での入力も処理されないですよね?
それを回避するならループの種類は関係無しに擬似タイマーとして使えるループ数をカウントする変数を組み込んで、その変数とIF文で顔文字の表示を制御すればいいと思うんですけど、なぜカウンタ変数に触れずシステム変数のMAINCNTに付いても言及しないのか
0そうだね プレイ済み
WHILE~WENDのメリットは、ループの終了条件を頭の方に書くことでループ自体がIF文と同じように、条件に合致しない場合は丸々ループをスキップ出来たりすることですかね。
命令それぞれにそれぞれのちゃんとした利点が有るので、慣れてくればばいしさんもちゃんと使い分け出来る様になりますよ。
0そうだね プレイ済み
立方体を手前か奥に傾けるだけの絵なら、傾ける方向で立方体の上面か底面がちょっと見える感じにして色の明るさをちょっと変えてやれば出来ると思いますけど、表現の仕方さえ分かれば後はやるかやらないかだけの問題ですね。
別にカーブを表現しなくても何ら問題無さそうですし、横視点の車のゲームとか作るのでなければ別に要らないかもですね。
0そうだね プレイ済み
パラパラ漫画のイメージが掴めてるなら、今は何コマ目なのかが分かるような変数を作っておけばプログラムの流れを把握しやすいですよ。
その変数依存で色んな処理をさせれば、VSYNCやWAITは単にプログラムの回転スピードを調節するだけの役割を任せるだけで済みますから。
FOR文でメインループを作る利点は、FOR文は構文中でカウンタ変数を設定するのがデフォルトで、その変数がまさにパラパラ漫画の今何コマ目かを示してるので、動きをコマ数で管理したい時とかに便利だったりするところですかね。
あとカウンタ変数で管理する利点としては、IF文でサブルーチンに飛ぶ時に、カウンタ変数がこの値からあの値の間だけ実行するサブルーチンとかやるとマルチスレッドの概念が理解しやすいかもとかですね。
0そうだね プレイ済み
A=A+1
っていう処理を繰り返すと、変数Aの中身が0,1,2,3,…という感じに増えて行くのの理解は大丈夫です?
MODは余剰(割り算した時の余り)を出す演算子で、例えば
A=(A+1) MOD 16
っていう処理だと変数Aの中身が16を越えない数(0~15)でグルグル回る感じになります。
もし配列変数の使い方にも慣れたなら、顔文字は文字列変数の配列に予め用意しておいたり
顔文字を消すのも、空白を文字数分入れた文字列変数を用意しておいたりすれば便利ですよ。
ちなみに
FOR TIM=0 TO TIM STEP 1
TIM=TIM MOD 360
ー 処理 ー
VSYNC 1
NEXT
みたく書くとVSYNCが60回分で約1秒なので、処理が1フレーム以内で収まるなら約1分で変数TIMの中身が一巡する感じのラベルジャンプじゃない無限ループも作れますよ。
0そうだね プレイ済み
多分これ@MYC~RETURNでサブルーチンになってますよね?
GOSUB命令で飛んだ先でまたGOSUB命令を使っても別に問題は無いので(FOR~NEXT等の多重ループと同じで、対応するRETURN命令に戻って来れれば大丈夫)
@F1や@F2とかの分岐先の処理が表示パターンの種類分けなら、分岐先もサブルーチンで書いておいて、表示時間カウント用の変数(例:T_CT)とIF文を使えば
@MYC
(XとYの移動処理は割愛)
T_CT=(T_CT+1) MOD 240
IF T_CT==0 THEN A=RND(13)
ON A GOSUB @F1,@F2,~,@F13
RETURN
@F1
LOCATE X1,Y1:?" ":LOCATE X1,Y1
IF T_CT<120 THEN ?"(・v・)" ELSE ? "(・o・)"
RETURN
@F2
・・・
0そうだね プレイ済み
横から見た視点でも、車両が向こう側かこっち側かに少し傾いてるとか、背景が流れるスピードの変化でカーブとか表現できるかも。
誇張表現ですけど、ブレーキをかけた時に車輪が少し赤くなると視覚的にも分りやすいかも。
1そうだね プレイ済み
クロッキーも時間を決めて集中して描く練習法だったりしますもんね。
必要な線と無駄な線の見極めの練習にはピッタリかも。
消しゴムでカラーの絵でも練り消し的な色の抜き方が出来るのもCGならではですよね。
0そうだね プレイ済み
カラーリングを暖色系と寒色系にしてみるとか。
対比させるもの同士を色相環で補色の関係にするのはよくある手法だったりしますね。
2そうだね プレイ済み
キーフレームの「フレーム」が時間の後に続く各項目(アニメ対象が定義番号とかなら1つですけれど、座標ならX座標とY座標とで2つは必要)を表していて
時間が区切りになる目印のキー(鍵)になっていて
要するに一つのSPANIM命令に切り替え用のアニメのセル画を何枚登録しておく事が出来るかという最大数が32ってことなんですね。
その最大数を越えるアニメパターンを作りたい時は、SPANIM命令が複数必要になると。
0そうだね プレイ済み
色と特徴はちゃんと捉えられてるじゃないですか。
スプラトゥーンをプレイした事ある人なら一目でちゃんとそれと分かりますよ。
自分で善しとしないのであれば色んなパターンを描いてみて、それこそセルフ・ディープラーニングですよ。
(♪ピコーン・説明しよう。ディープラーニングとは
同じ対象に関係する大量の情報をコンピュータに記憶させて、自動的に対象の特徴を学習させる最先端のAI技術なのダ!
ちなみに記憶するデータそれぞれのちょっとずつ違う「差」が、精度をアップさせるキーポイントらしいゾ!
実は人間が学習する時も同じ事を単純に繰り返して暗記するよりも、色んな例題に挑戦して「差」を認識する方が効率がいいらしいとの説もアルとかナイとか・・・)
0そうだね プレイ済み
ちなみにIF文の条件式のところは文字列や文字列変数を書いてもエラーにならないですけど、""(空の文字列)でも判定は真になるので、条件式が「数値の0以外」ならTHEN以降の処理を実行ってことになるんですね。
0そうだね プレイ済み
パリとか下水道網が整備されてる都市だと、地下から横穴を掘って建物に侵入とかよくネタにされてますよね。
怪盗ルパンもフランスの小説ですし。
1そうだね プレイ済み
10と12の最小公倍数の60で一巡するので60歳を還暦って言ったりしますよね。
先日はスーパームーンだったってことで、月齢も併せて表記すると風情が出ていいかも。
1そうだね プレイ済み
カレンダーも土用の丑の日とか、十干十二支の表記で見てみたいですね。
0そうだね プレイ済み
いや、ねこはちさんなら普通に一回転ループの地形くらい即興で作れるんじゃないです?
あんまり謙遜が過ぎるとウソつきみたいですよ?
技術デモに詳しいなら、技術的な質問トピックにもっと回答コメント付けてあげて欲しいんですけど。
1そうだね プレイ済み
運営の人は身に覚えありだったんですねぇ〜。
普通に会計の時の会話なんですけど。
2そうだね プレイ済み
せめてかずはさんが得意なジャンルのアピールくらいはした方がいいと思いますよ。
0そうだね プレイ済み