テトリス, メモリ, 言語パック, UI表示, CI-CD, Linux, リアルタイムOS
その他
LanguagePackManagerの導入方法を説明します. 説明項目は以下のとおりです.
- ダウンロード
- Unityにインポート
ここでは, LanguagePackManagerの基本的な使い方を説明します. 説明項目は以下のとおりです.
- パラメータの説明
- 言語パックの作成
- 使用例
- 言語パックの読み込みについて
Set | メッセージを設定 |
---|---|
SetAlert | Alertメッセージを設定 |
SetAlertKeepID | Alertメッセージを設定,IDを保持 |
SetSubtitleTop | SubtitleTopメッセージを設定 |
SetSubtitleTopKeepID | SubtitleTopメッセージを設定,IDを保持 |
SetSubtitleTopTimer | SubtitleTopメッセージを設定,タイマーモード |
SetSubtitleTopTimerKeepID | SubtitleTopメッセージを設定,IDを保持,タイマーモード |
SetSubtitleBottom | SubtitleBottomメッセージを設定 |
SetSubtitleBottomKeepID | SubtitleBottomメッセージを設定,IDを保持 |
SetSubtitleBottomTimer | SubtitleBottomメッセージを設定,タイマーモード |
SetSubtitleBottomTimerKeepID | SubtitleBottomメッセージを設定,IDを保持,タイマーモード |
SetMemoTopLeft | MemoTopLeftメッセージを設定 |
SetMemoTopLeftKeepID | MemoTopLeftメッセージを設定,IDを保持 |
SetMemoBottomRight | MemoBottomRightメッセージを設定 |
SetMemoBottomRightKeepID | MemoBottomRightメッセージを設定,IDを保持 |
Show | メッセージを開始 |
ShowDontOverride | メッセージを開始,命令を上書きしない |
ShowAlert | Alertメッセージを開始 |
ShowSubtitleTopTimer | SubtitleTopTimerメッセージを開始 |
ShowSubtitleBottomTimer | SubtitleBottomTimerメッセージを開始 |
ShowMemoTopLeft | MemoTopLeftメッセージを開始 |
ShowMemoBottomRight | MemoBottomRightメッセージを開始 |
Exit | メッセージを終了する |
CheckID | 指定したメッセージIDが使用されているか確認 |
HUDMessageManagerの導入方法を説明します. 説明項目は以下のとおりです.
- ダウンロード
- Unityにインポート
- 表示位置の設定
ここでは, HUDMessageManagerの基本的な使い方を説明します. 説明項目は以下のとおりです.
- パラメータの説明
- 使ってみる
- 対応文字列
ソフトウェア開発における継続的インテグレーション(CI)や継続的デプロイ(CD)に関するノウハウと知識。
bashでもなく, zshでもなく, cshでもなく, 純粋なshで動く, テトリスの公式ガイドラインにそったテトリスを作りたい.
OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.
今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.
このページでは, OSによるメモリ管理をどのように実装するのか説明します.
ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.
OSは日常のあらゆる場所で目にします. パソコンには必ずと言っていいほどOSが走っており, 携帯, ゲーム機などにもOSが走っております. このような普段よく使うOSですが, そのOSの仕組みを分かっていても, 実際どのように作るのかはよく知られておらず気になります.
このページでは, 実際にArduinoで動くOSを作成することで, OSの理解を深めます. 使用するプログラミング言語はC言語です. (作成といいましても, すでに在りますFreeRTOSから必要な機能を抜き出し, Arduinoで動くようにしました.) なお, 今回扱うOSは汎用OSではなくリアルタイムOS(RTOS)と呼ばれるものです. 汎用OSとは, すべてのタスクに等しく優先度が与えられますが, RTOSではタスクごとに優先度を設定できます.
話の進め方ですが, 今回のOS製作では実装に重きを置くため, コードを中心に話を進めていきます. 各コードごとに簡単な説明を行い, その中で特に重要な部分―OSの仕組みに深くかかわる部分―もしくはさらに詳しい説明については別ページで行います. これら別ページ―詳細ページ―は子コンテンツである"仕組み"にまとめられています.
話の流れは次のとおりです.
- RTOSとは
- 目標と使い方
- 準備
- ファイル構成
- スクリプト
- ボードの設定
- 仕組み
対応状況
- Arduino UNO
- Arduino Mega
動作確認済み環境
- Arduino IDE 1.8.10
- Arduino AVR Boards 1.8.1
OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.
今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.
このページでは, OSによるメモリ管理をどのように実装するのか説明します.
ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.
OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.
今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.
このページでは, OSによるメモリ管理をどのように実装するのか説明します.
本来手動でメモリ管理しなければならない動的なオブジェクトを、スコープによって自動でメモリ管理するもの。
ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.
LanguagePackManagerとは言語パックを管理するものです. もちろんですがUnity上で動作します.
これを使うと以下のことができます.
- 言語パックの管理
- 各シーンでのアンロードとロード
言語パックといいながらファイル形式はテキスト形式です. 言語関係の編集が簡単になります.
また言語パックを各シーンでアンロードされるのでロードした言語パックが残り続けることがありません. これはすなわち使っていないメモリを開放します.
LanguagePackManagerを改良、強化、何でもしてください(;´∀`)
このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.
このページの内容は2016年に執筆されています.
HUD_MessageManagerとは画面に文字を表示するなどの処理をするコンポーネントです。これはUnity上で動作します。ゲームで文字の表示といえばゲーム内でのキャラのセリフ、ゲームシステム側からプレイヤーに向けてのメッセージ―セーブが完了した,新しい称号を獲得したなど―などがあります。HUD_MessageManagerを使うことでこのようなことが簡単に実装できます。
HUD_MessageManagerを使うと以下のことができます。
- 画面に文字を表示する
- 6つの場所に文字を表示できます
- 表示位置はカスタマイズ可能
- 表示,非表示時にエフェクトをかけることが可能
- 表示時間を指定可能
HUD_MessageManagerを改良、強化、何でもしてください(;´∀`)
このコンポーネントは古いバージョンです. これをベースとした改良版UIMessageManagerをご利用下さい. 表示場所が6つに固定されている問題, 初期設定のしにくさの問題を修正しています.
Unityでゲーム制作もしくはツール制作においてちょっとしたUIを表示したい時があります. HUDMessageManagerはその時のために製作されたものです.
HUDMessageManagerはちょっとしたUIの表示に最適です. 特徴は以下のとおりです.
- 固定されないUIの表示場所
- フェードイン, フェードアウトエフェクト
- 表示時間設定
Unity 2018.2.5f1で動作確認済みです.
本稿では、外部アクションに頼らずrcloneをもちいた外部サーバとのファイル転送方法を説明します。rcloneとは、FTPだけに限らず外部サーバに対してファイルのアップロードやダウンロード、削除や移動といったファイル操作を行えるCLIツールです。rcloneをGitHub Actionsで使うことにより、特殊な要求にも柔軟に対応できるようになります。
このセクションでは, Windows Subsystem for Linux について書かれます.
OSは日常のあらゆる場所で目にします. パソコンには必ずと言っていいほどOSが走っており, 携帯, ゲーム機などにもOSが走っております. このような普段よく使うOSですが, そのOSの仕組みを分かっていても, 実際どのように作るのかはよく知られておらず気になります.
このページでは, 実際にArduinoで動くOSを作成することで, OSの理解を深めます. 使用するプログラミング言語はC言語です. (作成といいましても, すでに在りますFreeRTOSから必要な機能を抜き出し, Arduinoで動くようにしました.) なお, 今回扱うOSは汎用OSではなくリアルタイムOS(RTOS)と呼ばれるものです. 汎用OSとは, すべてのタスクに等しく優先度が与えられますが, RTOSではタスクごとに優先度を設定できます.
話の進め方ですが, 今回のOS製作では実装に重きを置くため, コードを中心に話を進めていきます. 各コードごとに簡単な説明を行い, その中で特に重要な部分―OSの仕組みに深くかかわる部分―もしくはさらに詳しい説明については別ページで行います. これら別ページ―詳細ページ―は子コンテンツである"仕組み"にまとめられています.
話の流れは次のとおりです.
- RTOSとは
- 目標と使い方
- 準備
- ファイル構成
- スクリプト
- ボードの設定
- 仕組み
対応状況
- Arduino UNO
- Arduino Mega
動作確認済み環境
- Arduino IDE 1.8.10
- Arduino AVR Boards 1.8.1
本来手動でメモリ管理しなければならない動的なオブジェクトを、スコープによって自動でメモリ管理するもの。