VF-1 VALKYRIE バルキリー06 コンソールのプログラム

ちょっと籠ってましたwバルキリーのコンソールのプログラムは一段落としました。

とりあえずこんな感じにしました^^2分半位あります^^;

最後はファミコンの安物ゲームのようになっていますがw

実際の航空機やバルキリーとしては色々おかしなところが有りますがその辺はご勘弁を^^;

Vividさんアイデアの武器画面のミサイル飛んでいく~画面、
taraさんアイデアの「愛おぼ」のミサイルでの迎撃画面
てつのさんアイデアの画面がグリングリン(グリングリンは無理でしたが^^;)動く画面
これらを足していくと・・・・・なんかストーリー出来そう!
てなことで、それっぽく仕上げてみましたw
アイデアありがとうございました!!

で、プログラムですが久々の2000行越えw疲れた~ww
これ、他の電飾のプログラム含んでいませんからね^^;この先周囲の電飾との同期とか考えていかないといけないと思うと今からゲンナリ・・・・。と思ったのですが、今見るとメモリの90%を使っているのが判明w
このarduinoはOLED専門に徹してもらってメインに別のAVRやArduinoでコントロールした方がよさそうです^^;

今回のOLEDのプログラムはいつものプログラムとは違ってアニメを作っているようで結構楽しかったです。

まずは色々な画面表示のラフから

今見るとここに載っているものほぼ没ネタだなw実は上の動画の画面以外にもそれぞれのシーン用に何個か別のパターンの物も作ったのですが、とにかく画面表示のドット数が少ないので多くの情報を書き込めないため没ネタも大量に^^。

で、なんとなく決定したら娘からもらった方眼紙に書き込み

左上の物が離陸画面の決定画面です。
この方眼紙のマス目を数えながらプログラムにして

一つ書いては画面表示して確認。これを永遠と繰り返していきましたw
とにかく線が多くなると表示ドット数60×32では画面が真っ白になって表現しきれないものが多くてほんと困りました^^;
それでもプログラム的には静止画面はまだいいのですが、問題は動いている画面ですね^^;

実は最後のドッグファイト様の部分で無茶時間かかりましたw
このシーンでの基本となる直線を傾斜させていく関数に手間取りました^^;

cosの場合同じ値でもx軸に対象に+Θと-Θの場合がありますし、sinの場合も同じ値でy軸を対象にΘと180-Θの場合もあるし頭が大混乱ww

こんなのほかの人なら簡単に作っちゃうんだろうな~と思いながらもなんとか関数完成^^;

これで間違いないはずとプログラムを動かしてみると・・・・・

あれあれあれ??何か途中から変な表示になる・・・・・・なぜなんだろう???

で、ここで回転座標の関数製作中とツイッターで呟いら、gyoさんから「完成したころにライブラリーが見つかるかもw」と、パイロットpapaさんから「昔行列の変換式使った気が」との内容のコメントを頂き、もしかして?と思いネットを調べると簡単に回転座標の変換式発見www

それも私の式よりかなり簡単で美しいw 関数に組み込むと

ええっw無駄な変数も少なくて美しい!

うっかりネットのチェックもせずに地道にやり過ぎたw

ただ、この関数にしても先ほどの途中から変な状態になるのは変わらず・・・・

で、試しに何本か一緒にそれぞれの中心で回転させてみました。

左の上の線のみが変な動きで後の2本はちゃんと回っている感じです。

そうなんです!要は直線の端の座標がマイナス領域に入ると表示がおかしくなるんですね。画面からプラス側に飛び出ている分は問題ないみたいです。

で、このマイナス領域に入った場合用にラインの両端の座標から1次方程式を求めてマイナス数字を出さないようにしようと思ったのですが、関数に組み込んでも効果なし・・・もう知らんwマイナスに行かないように動かすww

てなことでドッグファイト時の動きが少しおとなしめですw

とりあえず現段階ではここまでで^^;
あとはコクピット周囲の電飾との連携等を考えて少し修正するかもです。

 

最後にプログラム載せておきます。現段階では最初の動画のように画像を流すだけのものです。
画面がスクロールします。最後の行は2118行です。
もし使用される場合はarduinoにU8glibのライブラリーを導入して下さい。
難しい部分はありませんwただただU8glibのコマンドの羅列ですw

 

 

 

 

 

関連すると思われる記事:

    None Found

15 comments

  1. こんばんは
    う~む。コックピットの中に納まってしまうのがもったいない。。。
    これ、横に5inchぐらいの液晶置いて、そっちで同じ映像を高精細デモ版で流しましょうよ!
    しかし、ラフ画からドット数の制限を克服しつつ、よくこのプログラムを起こしましたね~。その馬力に脱帽です。
    ミサイル迎撃画面はドッグファイターが脳内再生されちゃうw

  2. ブラボー!
    僕のオタクな案を採用してくれてありがとうございます。
    コンソールだけでこんなにパワーを注ぎ込んだら、本体はどんな事になるのでしょう。
    変形させちゃいますか?

  3. なおさん こんばんは!
    いやいやw5インチになるとムチャ情報書き込まないといけなくなるじゃないですかw
    死んじゃいそうですww
    ほんとドット数の少ないのにはかなり制限をされて困りました、ただ、ドット数が少ないからこそここまでプログラム書けたわけでwこれ高精細とかになると無理ですww
    やはり最終的には音楽はアレですよねw!

  4. taraさん こんばんは!
    いや~ホントこちらこそアイデアありがとうございます。
    「愛おぼ」見返すきっかけになって、それがOLED用のストーリーを作るきっかけになりました。
    あの迎撃画面はアシェットの物だけを見ると意味わかりませんでしたが、動いている物を見るとこれだっ!と思いましたw
    確かにこの部分だけ日から注ぎ過ぎたかもwwあとの部分はあっさり行きますねww
    変形は絶対無理ですってww

  5. こんばんは
    うっ!! 言葉が出ません! よだれが出ました(笑)
    凄い、すごすぎです。
    もう何にもありません。画面にくいるように見入ってしまいました。
    プログラミングの手間と時間は容易に想像がつきます。
    ミサイル発射!!もアイデア採用、ありがとうございます。
    いや~ 素晴らしい!!

  6. 蛇足のお尋ねですが、ラインを一本一本命令で書く代わりに、60x32の画像をSDなどに入れて再生するような関数は備わっていないのでしょうか?
    mpegの動画再生みたいなものですが。
    ま~ 動画の原画を作るのも大変でしょうが。

  7. こんにちは。

    凄すぎです!!
    64X32ドットとは思えない出来栄えです。
    一週間で2千行のプログラムを書くって「どんだけ!?」と思います。
    絶対職業違うんじゃないですか??
    この再円高だしカラーOLEDを買ってBitmap画像の表示変換プログラム組んで下さい。
    GT-Rにパクって使わせて頂きますので(笑)

  8. Vividさん こんばんは!
    ありがとうございます!
    結構手間がかかりました^^;
    Vividさんのアイデアもしっかり生かすことが出来て良かったです。皆さんのアイデアが有ってこそこんな感じのストーリー仕立てに出来ました^^
    ドット画を張り付けるコマンドはあるのですが、そのドット画をarduinoに入れるとメモリー食うかなと思ってやりませんでしたが、そっか!SDカードとかに保存してそれを読み込めばいいのか!
    arduinoで出来るかちょっと調べてみます。もしそれが出来たらさらにいろいろと広がるかもですね^^でも、広げすぎも疲れるのでボチボチと行きますw

  9. ottoさん こんばんは!
    実はもう少し微妙に小さくて60x32なんですよ^^;
    ホントちょっと線を増やすとすぐ真っ白になって何が何だか分からなくなりますww
    まっ、2000行とはいっても、同じようなコマンドのコピペですから^^;
    流石にカラーOLEDを扱える自信はありませんw基本的にarduinoさんのライブラリーが無いと私ごときには手も足も出ませんから^^;

  10. なおさんも言ってますが、なんちゅう馬力ww
    もう、ペルシュロン馬のように多少の障害物はものともせず、
    ガツガツと一直線に目標に向かうようw

    でも、実のところはいつも通り、1.3倍速に早回ししているかのような
    作業スピードと集中力でこなしている姿が見えます。

    常人ではないw

  11. gyoさん おはようございます!
    てへwもうねコマンドの羅列で押し切ってみましたww
    だって難しい事できないんですもんw
    このライブラリーて、画面を一旦全部消して新たに書き直す方式なので、動いているものはその都度全部書き直しのためのコマンドを挿入していかないといけないという雪だるま方式になっていますw
    無駄にプログラムが長くなっていきましたw

    1.3倍・・・・・・微妙な速さですねww
    集中力というか一つの事しかできないwという感じですね^^;
    皆さんのブログ徘徊がストップしてしまいますw

  12. 安物なんてとんでもない。
    現物のスケールで見ると驚異的、2世代ほど先に進んでいる。
    すばらしいです。

  13. Twitterでも凄い反響でしたが、ドットの命令、しかもこの小ささと解像度であれだけの表現、解像度に制限があるドット絵だからこその”この感じ”が堪らないですね。6jiro(7jiro?8jiro?)さん、ほんと凄いです(*o*)

  14. noriさん ご無沙汰してすみません。
    コメントありがとうございます!
    いつかやってみたかったんですよね^^
    1/24台になってようやく可能となりました^^1/32では小さすぎて無理でした^^;
    お褒めの言葉もありがとうございます!

  15. yangminさん こんばんは!
    ツイッターで思いの外高評価頂きありがたかったです^^
    この小ささがネックでしたが、プログラム的にはこの大きさだから出来たというのもあります^^
    これ以上大きいとディティール細かくなってプログラム書ききれない可能性もw
    プログラムだから・・・・・5jiroだったかもw
    とりあえずプログラムのテクニックや知識は無いので根性で書きまくりましたw

Leave a Reply

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

wp-puzzle.com logo