ブログ記事174件
前に、Raspberrypi(Linux)でLovyanGFXを使ってLCD表示させることが出来た。↓『RaspberryPi(Linux)でLovyanGFX』以前、RaspberryPiZero2Wを使ってWebラジオを作ってみた↓『RaspberryPiZero2WでWebラジオ2号機(まとめ)』前…ameblo.jpこれを、前に作ったWebラジオ↓『RaspberryPiZero2WでWebラジオ2号機(まとめ)』前回までに、概ね完成したWebラジオ
カナダ在住から日本に戻った者が遭遇した出来事や文化の違いを綴っています。Anyresemblancetoactualeventsorlocalsorpersons,livingordead,isentirelycoincidental.©m2011-2026Allrightsreserved.仕事や執筆の依頼はdrippingofpoison★gmail.comまでお願いします。★を@に変えてください。ブログ記事の転載、複製は禁止しております。
マップ作成機能としてコピペと回転を実装した。コピペはまあコピーするだけなので比較的すんなりできたんだけど、やっぱ回転がめんどかった。けどなんとか使えるレベルの動きはできてる気がする。マップ作成で、コピペ、回転ができるようになった。マップ作成機能としてはだいたい必要なものはできた気がする。#gamedev#indiedevpic.twitter.com/rl4ww5u8uJ—jin(@jin77739)September24,2026おしまい。
マップの範囲選択をできるようにしました。え、今までできなかったの!?ってくらいできないと不便なんだけど、まあできなかったんです。選択範囲を同一ブロックで塗りつぶすまではできるようになったので、このあとコピー&ペーストを実装したいと思っています。選択範囲の回転もできたら便利な気がするんだけどちょっとむずそうなんだよなあ…。マップを範囲選択して塗りつぶしができるようにした。あとはコピペくらいはできるようにしたい。選択範囲の回転もできたらやりたいけど…出来るかなあ。#game
手前の障害物を透過できるようにした。構想数カ月、ようやく実装できたぜ…。この機能がないとせっかく階層構造を持ったマップを作れるのに、影にかくれる部分が見えなくて意味がなかったのだ。ただ半透過のときに描画処理の関係で見た目がきれいにならないんだけど、これはもうどうしようもないのでこのままにしとこう。手前の障害物などを透過する機能を追加した。半透過、全透過、透過なしを切り替えられる。#gamedev#indiedevpic.twitter.com/QYwx8kDWME—j
以前、RaspberryPiZero2Wを使ってWebラジオを作ってみた↓『RaspberryPiZero2WでWebラジオ2号機(まとめ)』前回までに、概ね完成したWebラジオ↓『RaspberryPiZero2WでWebラジオ2号機(11)ほぼ完成』前回でなんとなく、ソフトも出来上が…ameblo.jp表示系は最初にLovyanGFXを使おうとしたのだが、何故かうまく動かなかったのでDisplay_Lib_RPIライブラリを使った。このライブラリは直接SPI
日加租税条約に「年金条項」はない——日本帰国後のCPP・RRSPが25%引かれる理由と3つの対処法「カナダで働いた期間があるのですが、日本へ帰国した後にCPPを受け取ると、税金はいくら引かれますか?」カナダから日本へ帰国した人にとって、これは非常に重要な質問です。インターネットで調べると、「海外居住者が年金を受け取る場合の源泉税率は15%」といった説明を見かけることがあります。しかし、その情報が米加租税条約など別の国との条約を前提にしている場合、そのまま日本居住者には当てはめられません
物理エンジンを実装し、オブジェクトの運動と地形対オブジェクトの衝突判定ができるようになりました。オブジェクト対オブジェクトの当たり判定は、相手のオブジェクトを走査する範囲をどうするか悩ましいんだよなあ。なので、いったん次は描画周りの修正とかをしようかな。なんちゃって物理エンジンを実装した。地形とオブジェクトの衝突判定までできた。オブジェクト同士の衝突判定はまだない。#gamedev#indiedevpic.twitter.com/hvgowGquBr—jin(@ji
前回までに、概ね完成したWebラジオ↓『RaspberryPiZero2WでWebラジオ2号機(11)ほぼ完成』前回でなんとなく、ソフトも出来上がってきた。あと残すは、電源投入時の自動起動と、電源SWによるシャットダウン対応なのである。ということで、Python版↓と…ameblo.jpおじさんが、試行錯誤しながら適当に記事を書いてきたので、もし、作ってみたいという読者がチャレンジしても、たぶん、なかなか辿り着けないと思う。というか、おじさんも訳が分からなくなってきたので、
前回でなんとなく、ソフトも出来上がってきた。あと残すは、電源投入時の自動起動と、電源SWによるシャットダウン対応なのである。ということで、Python版↓と同じように、ちょっとした電源制御回路を追加。『RaspberryPiZero2でWebラジオ(5)電源問題』RaspberryPiでWebラジオのソフトウェアが何となく出来てきたので、そろそろパネルに固定してスタンドアロンのWebラジオに仕立てていこうと思っている…ameblo.jp今回の回路図ブレッドボードでこ
現代の半導体ファブは、信頼性の高い通信、予測可能な自動化、そして工場システムとのスムーズな統合を実現する装置に依存しています。ファブがより高度な自動化を目指す中、装置OEMは過度なエンジニアリングリスクを負うことなく、こうした要求に応えるソフトウェアを提供するというプレッシャーに直面しています。ここで重要になるのがGEM300です。GEM300とは、キャリアハンドリング、装置自動化、構造化された装置-ホスト間通信など、先進的な製造環境をサポートする半導体装置自動化の一連の規格・機能を指しま
前回までに、なんとなく動くようになってきた。『RaspberryPiZero2WでWebラジオ2号機(9)プロトー2』前回に引き続き、Webラジオの形に仕上げていきたい。『RaspberryPiZero2WでWebラジオ2号機(8)プロト-1』表示系とWebラジオの再…ameblo.jpしかし、ロータリーエンコーダーを回しても、CW/CCWがうまく検出できない場合が多い。ロータリーエンコーダーはESP32S3版と同じく、割り込みではなくてポーリングで検出している。(
前回に引き続き、Webラジオの形に仕上げていきたい。『RaspberryPiZero2WでWebラジオ2号機(8)プロト-1』表示系とWebラジオの再生系それぞれの確認が出来たので、合体融合して完成形にしていく。まずは、ロータリーエンコーダーを以下のように追加。次に、エンコーダーの入…ameblo.jp今回は、前回未実装だったVUメーター表示と、設定の保存に取り掛かる。設定(ChとVol)の保存は、ESP32S3版と同じく設定値をファイルに書いて、起動時に読み込ませる形で(
表示系とWebラジオの再生系それぞれの確認が出来たので、合体融合して完成形にしていく。まずは、ロータリーエンコーダーを以下のように追加。次に、エンコーダーの入力でGPIOを使えるようにするために必要なライブラリ(libgpiod-dev)をインストールsudoaptinstall-ylibgpiod-devMakefileをGeminiにお願いして以下のように合体版とし、コンパイル時に-lgpiodを追加#==============================
前回までにアルバムアートも含め表示系の目途は立った。『RaspberryPiZero2WでWebラジオ2号機(6)アルバムアート』前回、Display_Lib_RPIを使って、それっぽく表示させるところまで出来た『RaspberryPiZero2WでWebラジオ2号機(5)LC…ameblo.jpこれからようやく本番である。オーディオ再生ライブラリを使ってWebラジオの再生と、コーデック、ビットレート、ストリームタイトル等の情報取得部分を試してみる。今回もGe
前回、Display_Lib_RPIを使って、それっぽく表示させるところまで出来た『RaspberryPiZero2WでWebラジオ2号機(5)LCDその3』前回、RaspberryPiのC++で、LovyanGFXを使ってLCDを動かそうとして、結局失敗した。今回は、Geminiが提案するGavinLyons…ameblo.jp今回はESP32S3版Webラジオで実装したアルバムアートを表示するプログラムを移植して、そこそこ正確なアルバムアートを表示できるようにしたい。
前回、RaspberryPiのC++で、LovyanGFXを使ってLCDを動かそうとして、結局失敗した。今回は、Geminiが提案するGavinLyons氏のDisplay_Lib_RPIライブラリを試してみることにする。シンプルな構造で、ライブラリが直接SPIを叩きに行くので、LovyanGFXの時のような高度な調整無しにLCDを制御できるらしい。また、ST7796(480x320)のLCDは正式サポートしていないが、ILI9341のコードを使って、パラメータを調整すれば使えるらしい
MacOSのウインドウの影は、ウインドウやビューの内容がアニメーションしてても普通に使えた。ウインドウに対して影をつける場合は_view.window.hasShadow=YES;とした後に、アニメーションした結果を影に適用したいタイミングで[_view.windowinvalidateShadow];でいける。対してウインドウではなくCALayerで影をつけたい場合は_view.layer.shadowRadius=5;_view.layer.shadowOpa
大昔から言われてたことで、今更そう「信じ込んでる」人もなかなか居ないとは思うけど、以前の記事でvtbl(仮想関数テーブル)について触れたので解説してみる。「(基底)クラスのデストラクタに必ずvirtualを付けろ」というのは、ポリモーフィックな(多態性を利用する)クラスのポインタをdeleteしたときにデストラクタが正しく実行されない場合があるからということだけど、これは場合による。また、クラスの用途によっては「virtualをつけてはならない」こともある(後述)。classA{
方法は昔から知られていて、自分は昔ここ↓を読んで学んだ。「Lesson3.DLL側のクラスを呼び出す-ThedeepinsideofWindows/BM98'sROOMつう(やねうらお)」要は、異なるコンパイラ・異なるバージョン間でもポータビリティを保つためには、・仮想関数のみを持つ基底クラス(ライブラリ利用側、作成側で共通のヘッダ)を作ってインターフェースだけ定義し、実装はライブラリ側で隠蔽した派生クラスで書く・生成と破棄は共に、必ずライブラリ側で行う(COM
さてさて、前回で「『HelloWorld!巡り』-コンソール編」をC++、C#共に終了しましたので、今回からデスクトップテンプレートを使って旅を続けていきたいと思います。先ずはC++から。選択したのは「Windowsデスクトップウィザード」というやつです。「次へ」ボタンを押して進むと、はて?成程。「WindowsDesktopで使えるプログラムだから、ウィンドウアプリのみならず、コマンドプロンプト(いわゆる「DOS窓」)で使えるコンソールアプリや.DLL、.
(この記事は数年前の書きかけに手を加えたものです)以前にも書いたけど、C++でプロパティを(テンプレート等で)実現しようとすると色々問題が出てくる。メンバ関数呼び出しが出来ない(継承でもしない限り、キャストを挟む必要がある)という欠点には目をつぶるとして、実際試しに作ってみた。メンバ関数ポインタでは色々と不便なのでネットでアイデアを探してたら「C++でプロパティを実現するココロミ/CodeZine・επιστημη(エピステーメー)」↑こんなのを見つけた。(無料記事だけど会員
が、なかなかclangに実装されないのはなんで?いつまでも自作のを使っていたくないんだが・・・・まぁオープンソースだし、優先順位は低いんだろうなぁ・・・。
memset怖いらしい。勘所があるみたい。メモを残すmemsetはint以外でも使えるか?ゼロ初期化目的であればOKな型:int,float,double,bool,char,short,long,unsigned系いわゆる「POD(PlainOldData)」型ならOKNGや危険:ポインタ(アーキテクチャ依存でNULLポインタが非0バイトになる場合あり)オブジェクト型(コンストラクタ・デストラクタを持つ)memsetでゼロ埋めしたいなら、「すべてのビ
リファクタリングするにあたって、ちょっと真面目に命名規則を決めておこうと思います。命名規則ってのは変数名や関数(メソッド)名の付け方のルール。言語ごとに主流のやり方があるっぽい。ちなみに仕事の場合は、規約で決まってたりとか、前例に倣えでやるのがほとんどだけど、趣味でコードを書く場合はあらかじめ決めておいた方が良いはず。で、今更だけど調べてみたので、C++で使いそうなスタイルだけ書いておこう。命名規則のいろいろキャメルケース各単語の先頭の文字を大
#include<stdio.h>intmain(void){charinputString[256];printf("文字列を入力してください:");if(fgets(inputString,sizeof(inputString),stdin)!=NULL)//fgetsはバッファオーバーフローを防ぐため推奨printf("入力された文字列:%s",inputString);elseprint
javacでソースコードをコンパイル?ビルド?するのだが色々ひっかかるC,C++ならなんとなくわかるのだが。
このところWindowsベースのC#による安易なプログラミングが多く、はたと自分がC++のことを忘れていることに気が付きました。初めてコンピューター(MSXPC-SONYHitBit)を買った時は、(長男の子育てで多忙でもあり、長男と神さんの目を盗んで)ROMBasicしか入っていないのにただプログラムを入力して、実行するだけで、それをTV(MSXはモニターがテレビだったんです)で眺めているだけで楽しかった。しかし今は、(昔の親父が帰宅すると直ぐにTVにスイッチを入れる様に)日
constexprifは実体化されないはずの方の分岐でも、テンプレート引数に依存しない部分は文法チェックが入ってエラーが報告されることがある。よく経験したのがstatic_assertで、与えた条件式がテンプレート引数に依存せずfalseになることが分かっていると、分岐しない方にしか書いていないのにstatic_assertのところでエラーが出た。これは最近修正されたらしいんだけど、そこだけ修正したんでいいんか・・・?例えば下記のようなコードでは今もエラーが出る。autofu