altebute.hatenablog.com

犬も歩けば規格にあたる

Unity 5 日記 6 ショットを発射

もう適当にさっさと書かないと飽きるので雑に書いていく. さっさとショット発射してみたい. 敵にあたるとかそんなんどうでもいい. Unity 5 日記 2 スクリプトの作成 と Unity 5 日記 3 deltaTime の適用 で作成したオブジェクトにショットの発射機能を持たせ…

Unity 5 日記 5 Prefab

Hierarchy 内に生成したオブジェクトを Project にドラッグ & ドロップするとなんか青くなる. 以後は Project 側からドラッグ & ドロップすると簡単にオブジェクトを複製出来る. Inspector からオブジェクトのパラメータを変更すると一括で変更出来る. オブ…

Unity 5 日記 4 InputManager の調整 キーボードの入力で慣性がつく問題の修正

デフォルトの設定だと UnityEngine.Input.GetAxis("Horizontal") や UnityEngine.Input.GetAxis("Vertical") で入力をいい感じに受け取れるが, ジョイパッドで操作する分には問題ないものの, キーボードで操作する場合に妙な慣性がついてしまう. 今回は入力…

Unity 5 日記 3 deltaTime の適用

なんだか 前回 まで大真面目に記事を書いてたせいで新しく記事を書くのが億劫になってきてしまっていたので, 今回からもっと雑に書いていくことにする. UnityEngine.MonoBehaviour を継承したクラスのメンバ関数 Update は毎フレーム呼ばれるが, 毎フレーム…

Unity 5 日記 2 スクリプトの作成

前回は GameObject の追加とギズモを使った操作までを行った。 Unity入門 (全26回) - プログラミングならドットインストール ではこの後 Transform 、 Material の操作、 Rigitbody 、 Directional Light 、 GameObject の階層化、 Prefab が紹介されている…

Unity 5 日記 1 インストール - GameObject の操作

はじめに 超々久しぶりに Unity に触った。もうどの位久しぶりかというと、起動しようとしたら別ドライブに僅かに残骸だけが残っていてUnity自体がインストールされていなかった。 折角なので、自分自身の備忘録兼足跡として、日記をつけていく事にする。プ…

Windows の解像度に思うこと

画素の密度 Apple が iPhone 4 向けに Retina ディスプレイを発表して以降、スマートフォン向けのディスプレイは高密度化し続け、その傾向はラップトップ PC やテレビにおいても同様である。しかし macOS のスケーリングは比較的綺麗に見える一方 Windows で…

iPhone 7 と次期 Nexus ( Pixel ) の狭間で

iPhone 7 が発売され、次期 Nexus ( Pixel ) に関するリーク情報も出揃ってきたので、このタイミングで所感をまとめる。 性能がずば抜けている Android が登場してしばらくは、 Android は iPhone に対してパフォーマンス面で明らかに劣っていた。スクロール…

Visual Studioと同時に立ち上がるVsHub.exeの挙動

作業中である事を明示するために Steam のマイライブラリに Visual Studio を登録した時、バックグラウンドで VsHub.exe というプロセスが動いているために Visual Studio を閉じても継続状態になっている事に気がついた。 この VsHub.exe は通常 C:\Program…

VC++2013 で using 宣言を使うだけでコンパイラが強制終了するコード

以下のプログラムは VC++2013 で正しく動作する。 template< typename Head, typename... Tail > struct s; template< typename Last > struct s< Last > { void f( Last ) {} }; template< typename First, typename Second, typename... Tail > struct s< …

完全栄養食COMPレビュー 意外といける

偽サイトに注意!! COMP公式を騙る偽サイトがあります。 URLが cooomp とかになってるので要注意。 2016.04.24 追記 cooomp.com は一応公式管理のサイトだそうです。 大変申し訳ありませんでした。 味について そこそこ飲みやすいです。 が、失敗するとゲロ…

機工城アレキサンダー:律動編 ドロップテーブル他

必要個数 種別 対価となるアイテム 必要個数 頭防具 ミダースレンズ 2 胴防具 ミダースシャフト 4 手防具 ミダースクランク 2 帯防具 ミダースチェーン 1 脚防具 ミダーススプリング 4 足防具 ミダースペダル 2 アクセサリ ミダースボルト 1 各層ドロップテ…

同人活動の感想を送る上で最も妨げになるものは「面倒くささ」だと思う

TLでチラチラ話題になっていたので前々から思っていた事をアウトプット。 感想が貰えないのは、作品がつまらなかったりする場合よりも、 感想を送る行為そのものの面倒さに起因する事が多いように思う。 *1 連々と列挙すると、 作者のウェブサイトを探すのが…

USB Type-Cの最も素晴らしい点はその剛性である

先日、Nexus 5Xを購入した。 巷ではNexus 5Xはバッテリーに問題があったり、 充電中にタッチパネルの反応が悪くなる等の問題点が指摘されているが、 私の環境では概ね良好である。 閑話休題。 Nexus 5Xはデータ通信用のポートがUSB Type-Cポートになっている…

高階関数内で、引数の引数の型を取得する

いなむ先生とバンビちゃん先生にご助力頂いてやっと書けたコードです。多謝! 2016.01.03 追記 VC++では関数ポインタの型推論について、Variadic Templateのマッチングの優先順位がおかしいため正常に動作しません。 まず以下のコードについて考える。 templ…

Anker PowerLine USB-C & USB 3.0 Cableは規格に準拠していて安全らしい

Googleのエンジニアである、Benson Leung氏が、Amazonで片っ端からUSB-Cケーブルをレビューし、規格違反のケーブルを弾劾しているのは周知の事実である。 今回は、Google Nexus 5Xを購入したので、定番であるAnkerのケーブルを買う事にした。 Ankerのケーブ…

std::as_const と sprout::as_cont の違い

std::as_const と sprout::as_const は、何れも引数を const 修飾された型に変換する関数テンプレートである。尚、 std::as_const はC++17にむけて提案されている関数であるため、実装されている環境は少ない。 Constant View: A proposal for a std::as_con…

cv修飾された仮引数はUniversal Referenceになれない

C++

以下のコードは合法である。 #include <type_traits> #include <iostream> #include <boost/type_index.hpp> using namespace std; using boost::typeindex::type_id_with_cvr; template< typename Arg > void f( Arg&& arg ) { cout << "`Arg` is `" << type_id_with_cvr< Arg >() << "`" << endl; cout <</boost/type_index.hpp></iostream></type_traits>…

参照型に対するcv修飾子はill-formedまたは無視される

C++

const int& は const int への参照であるため、well-formedであるが、 int& const はint&に対するcv修飾であるためill-formedである。 ただし、cv修飾される型名が typedef-name または decltype-specifier の場合、cv修飾子は無視される。 また、同時に ref…

Android 6.0 Marshmallowでアスキーアートを表示する

ブートループになっても知りません。 分からない所は調べてください。 大まかな順序 Androidの開発者向け環境を整え、パスを通す adb reboot bootloader twrpを送信しブート( fastboot boot ) twrp上で/systemをマウント adb pull /system/etc/fonts.xml fon…

マルチディスプレイ時に稀に一部のディスプレイが表示されない場合の対処法

普段デュアルディスプレイ環境を使用しているのだが、稀にサブディスプレイが表示されない場合がある。 傾向を察するに、アナログディスプレイとの接続時に、ディスプレイとグラフィックスカードの相性が悪いと、接続を検知出来ないのかもしれない。 多くの…

PushbulletのPortalが凄いかも知れない。

PCとAndroid端末をWEBを介して接続し、様々なプッシュ通知を行うサービスを提供しているPushbulletが、新しいアプリPortalをリリースした。 Pushbulletでは、Androidに届いた通知を、PC側のブラウザの拡張機能を用いて、Googleのクラウドメッセージングサー…

RAR for Androidが素晴らしい件

Android上でzipアーカイブを解凍するためにRAR for Androidを導入したのだが、これが素晴らしかった。 Android向けのアーカイブの解凍アプリは多数あるが、RAR for Androidの特筆すべき点はアーカイブ内にパスに日本語を含むファイルも文字化けを起こす事無…

Windows 10 Build 10130でPINによるサインインが出来なくなった時の対処法

設定 -> アカウント -> サインイン オプション 暗証番号 (PIN) -> PIN を忘れた場合 指示に従って再設定 上記の手順でPINによるサインインが利用出来るようになる。

Windows 10 Insider Previewで、コマンドプロンプトでフォントが異常に小さくなった時の対処法

原因 MS ゴシックがインストールされていないのが原因です。最初にインストールしたWindows 10が英語版だからなのか否かは不明です。 対処法 使用したいフォントをインストールする レジストリを編集する コマンドプロンプトの設定でフォントを選択する と…

niconicoがAndroidのバッテリードレインを引き起こす件について

ニコニコ生放送をAndroidで見るために公式アプリであるniconicoを使っているのだが、こいつがバッテリードレインを引き起こしていた。 事の経緯 電池の履歴の詳細を見て、使っていない時も常にスリープになっていない事に気付く。 twitterの同期とtwitcle pl…

規格で学ぶ、例外と未定義の動作

例外周りを今まできちんとやってこなかったので、ちょいちょい調べたところ、日本語のWEB上の情報だけでは足りなかったので、規格にあたった。 戻り値を戻さない制御 以下のプログラムは多くのコンパイラで警告を発する。 int f(){} int main(){} 理由は関数…

Boost.Multiprecision と BBP formula を用いて整数演算のみで円周率を近似する。

前回の記事で boost を導入したので、 Boost.Multiprecision と BBP formula を用いて整数演算のみで円周率を近似してみた。 整数演算のみなので、如何なる実行環境でも同じ結果が得られる筈。 cpp_rationalやcpp_intが内部的に浮動小数点演算を使用していた…

boost 1.58 を Visual Studio 2013 環境で導入した

boost 1.58 を Visual Studio 2013 環境で導入した。 あまりにもサックリ出来てしまったので驚いた。 boost 1.58 をダウンロードし、適切な位置に解凍 適切なコマンドラインでビルド C:\boost_1_58_0>bootstrap.bat > build.log && b2.exe -j 12 >> build.lo…

Nexus 6を購入して3ヶ月がたった

Nexus 6を購入して3ヶ月がたった。私的にはそれなりに満足しているが、良い所もあれば悪い所もあるので、つらつらと書き連ねていきたい。 良い所 最新のOSが動く 画面が大きい 悪い所 Lollipopは不安定 大きすぎる 重いので小指に負担がかかる 価格が高い Lo…

MacBookに対する所感まとめ

もう大分時間が経ってしまったが、新型MacBookが発表された。最近になって漸く店頭に並ぶようになり、私も触ってきたので、その所感を纏めたいと思う。 新型MacBookは正しく未来だ。小型のラップトップの多くはこうなっていくのだろう、と確信させてくれる製…

Visual Studioで単一のプロジェクト内に同名のソース・ファイルが含まれていてもビルドが通るようにする方法

以下のコードはVisual Studio 2013のデフォルト設定ではエラーとなる。 // ./a/func.hpp void func_a(); // ./b/func.hpp void func_b(); // ./a/func.cpp #include <iostream> #include "func_a.hpp" void func_a() { cout << "a" << endl; } // ./b/func.cpp #includ</iostream>…

Nexus 6 を逃したので次回入荷時に可能な限り確実に入手する

とても怒っている。こんな、あっという間に完売になるなんて聞いてないぞ。 ただ怒っていても事は仕方ないので、本記事では次回入荷時に可能な限り確実に入手する方法について考える。 Nexus 6のGoogle Playストアでの販売から完売までは、日本時間で10日水…

VC++2013で非推奨属性を扱うdeprecated宣言を使う

C++14 には名前やエンティティに非推奨属性を付加するdeprecated attributeと呼ばれる規格が存在する。 [[deprecated]] attribute http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html が、残念ながら例によって例の如くMicrosoft Visual C…

Kindle Cloud Readerに自分のライブラリが反映されない場合の対処法

先日、国内向けにKindle Cloud Readerが発表された アマゾン、PC ブラウザで読めるKindle Cloud Reader 提供開始。漫画・雑誌と洋書のみ - Engadget Japanese Kindle Cloud ReaderにはChromeアプリがあり、AmazonからKindle Cloud Readerをインストールする…

はじめてのSFINAE

ここ数日、初めてSFINAEに触った。 templateの技法を駆使する故、見た目の記法が複雑になり面食らうが、冷静に一つ一つ読み解けばそこまで難しくはない。 自分も使い始めたばかりなので間違いがあるかも知れないので、間違ってたらご指摘お願いします。 SFIN…

Visual StudioでデフォルトでUTF-8を使用する方法

最近ソースコードの管理にSourceTree+Git環境を導入したのだが、SourceTreeが文字コードを誤認して文字化けが起きたりするので、色々調べた次第。 SourceTreeのデフォルト文字コードをShift_JISにすれば、文字化けは起きない。*1 ソースコードの文字コードに…

Google Chrome 37(というかDirectWrite)でAAがずれる件について

Google Chrome 37で、文字の描画がGDIからDirectWriteに刷新された。2バイト文字が表示されない不具合が発生していたようだが、もう修正されたようだ。 閑話休題。DirectWriteではグリフの位置の計算にサブピクセルポジショニングが用いられるため、従来のGD…

Ok Google everywhereのコツと難点

日本語設定でも"Ok Google" everywhereが使用できるようになった。 OK Google Everywhereを日本語で有効にして任意の画面やロック画面fなどあらゆる画面から「OK Google」の音声コマンドを使う方法 - Android(アンドロイド)おすすめアプリ・カスタムニュース…

再帰テンプレートを用いた std::tuple の展開と処理

本記事では、std::tupleに対するstd::for_each的な処理を行うためのコードについて記述する。 以下のコードは、規定クラスのポインタの配列に派生クラスのアドレスを代入し、range-based forを用いてメンバ仮想関数をコールしている。 struct Base { virtual…

配列の代わりに std::tuple を使って不要なキャストを避ける

要素を指定したら自動で型を判別しダウンキャストする - 雑記 上記の記事では、基底クラス型のポインタの配列に対して、 任意の添え字に対して静的に型が決っている派生クラスのアドレスを保持し、 テンプレート関数を用いて派生クラスポインタ型のアドレス…

USB Type-C Cable and Connector Specificationについてよくわからないので調べた

リバーシブル仕様の新USB規格「Type-C」、仕様策定が完了 - CNET Japan USB 3.0 Promoter Groupが、新しいUSB規格の策定作業を完了したと発表した。 その他記事 ASCII.jp:USB 3.1が発表、USB 3.0からなにがどう変わる? (1/3)|ロードマップでわかる!当世…

Gitを導入した

Gitを導入した。 公式からダウンロードできるWindows用Gitと、 TortoiseGitを導入するだけで簡単に環境を構築する事ができた。 インストール時の設定は、少々ググる必要はあったが。 各種バージョン管理ソフトウェアを導入する事によるメリットは、 既に様々…

テスト投稿

はてなブログ開設したのでテスト投稿。 hatena blog markdown test test C++ code class HatenaBlog { private: // member variable int m_memberVariable; public: // constructer HatenaBlog() : m_memberVariable(0) {} // destructer ~HatenaBlog(){} };…