こんにちは。今日は TypeScript の type と interface の違い、そしてよく一緒に出てくる ユニオン型 についてまとめます。 自分の勉強メモも兼ねて書いているので、これから TypeScript を学ぶ人の参考になれば嬉しいです。 typeとinterfaceの共通点 どちら…
先日、React × TypeScript × FullCalendar を使って開発していたときに、以下のようなエラーに遭遇しました。 'DatesSetArg' は型であり、'verbatimModuleSyntax' が有効であるときは、 型のみのインポートを使用してインポートされる必要があります。ts(148…
フロントエンド開発では、見た目を整えるためにCSSやUIフレームワークを組み合わせて使うことが多いですが、その中でも人気が高いのが MUI (Material UI) です。 MUIは、Googleが提唱する Material Design に基づいたコンポーネントを提供してくれるライブラ…
MUIを使って以下のようなコードを書いたところ、TypeScriptでエラーが出ました。 import { Card, CardContent, Grid, Typography } from "@mui/material"; const MonthlySummary = () => { return ( <Grid container spacing={{ xs: 1, sm: 2 }} mb={2}> <Grid xs={4} display="flex" flexDirection="column"> </grid></grid>
Reactコンポーネントの書き方にはいくつかパターンがあります。 特に 関数の書き方 と export方法(default / named) の違いは、最初は分かりにくいところです。この記事では、 default export(後出し)の意味と使いどころ 巻き上げ(hoisting)とは何か …
ReactでSPA(シングルページアプリケーション)を作るとき、ほぼ必須になるのがreact-router-domです。今回は基本的な使い方から、AppLayoutを使った共通レイアウトの作成方法までまとめていきます。 1. react-router-domとは? react-router-dom は React用…
最近、Reactの勉強を行っています。このブログでは、学んだことを随時まとめていこうと思います。今回は「Reactの新しいプロジェクトをVite+TypeScriptで始める方法」について紹介します。 1. React新規プロジェクトをVite+TypeScriptで作成するコマンド …
前回から少し間が空きましたが、Pyxelは触り続けていました。 uuc1h.hatenablog.jp 具体的には、サンプルである「02_jump_game.py」のソースコードを解読していました。 github.com 私はPythonをあまり触ったことがないので、学ぶことが非常に多かったです。…
最近、Pyxelに入門しました。入門して環境構築をやってみたのが、前回の記事です。 uuc1h.hatenablog.jp 入門したからには、Pyxelをこれから学んでいこうと思います。 何か新しい技術を学ぼうとしたとき、これまで自分は書籍、Udemyなどの動画、体系的にまと…
最近ゲーム開発を全然やっていないのですが、ゲーム開発ネタは気になってしまいます。 そんな中、Xでこの記事を目にしました。 qiita.com さくっと読める記事で、内容もすごく面白いです。基本的に何にでも感化されやすいので、さっそくPyxelに入門すること…
Unityでプロジェクトを作成すると、「Collab service is deprecated and has been replaced with PlasticSCM」というエラーが大量に吐かれまくったという経験をしたことは多いのではないでしょうか。 原因としては、Unity Teamsのバージョン管理コンポーネン…
Unityでゲームを作る際、自分は時間経過があるイベントが欠かせません。 例えば、RPGで敵を倒した1秒後に報酬品をテキスト表示するなどです。このような時間経過のイベントには、コルーチンを使います。 ですがこのコルーチン、自分はいつも使い方を忘れてし…
unityroomに投稿した以下ゲームですが、車を操作するゲームです。 unityroom.com 車を操作するスクリプト自体はよくあるものなんですが、車をスタートさせると時間カウントアップを開始させるようにしました。 今後のために、メモとして残しておきます。 車…
久しぶりにunityroomに投稿した以下ゲームより、メモとして残しておきたい部分を記しておきます。 unityroom.com BGMとSEの制御について BGMとSEは、1つのゲームオブジェクトにAudio Sourceコンポーネントを2つ追加して制御しています。 1つがBGM用、もう1…
AWSクラウドプラクティショナーを受験して、無事に合格しました。記憶の新しいうちに、自分がやってきた勉強内容などを記録しておきます。 はじめに 自分はIT業界に8年ほどいますが、AWSは未経験でした。それが、2023年に参画した現場でAWSを使用しており、…
かなり久しぶりに、フリーゲーム投稿サイトのunityroomにゲームを投稿しました。 unityroom.com操作は矢印キーで車を操作し、障害物にぶつからないようにゴールを目指すシンプルゲームです。 2023年は1本もゲームを作れておらず、このままではゲーム開発をや…
久しぶりのブログです。このブログは主にゲーム開発に関する内容を投稿していましたが、ブログを更新していない間もゲーム開発は続けていました。直近でリリースしたゲームは、こちらです。 play.google.com 自分としては、かなり力を入れて作ったゲームなん…
StopCoroutineでコルーチンを停止させようと実装したら、「Coroutine continue failure」とエラーがでた。 で、エラーがでた実装はこんな感じです。 public void GameOver() { // リトライボタンとタイトルボタンの表示 RetryButton.SetActive(true); TitleB…
今、ブロック崩しゲームを作ってます。スマホでプレイする際は、画面のボタンから操作するけど、Unityエディター時にはキーボードから操作したいっていう場合の実装方法です。 ちなみに作ってるゲームは、こんな感じ。この緑色のバーを動かすプログラムがこ…
Unityの技術書を買うと、コルーチンの使い方は必ずといいほど書かれている。けど、実際にコルーチンを使うときって、ある操作を開始したらコルーチンを止めたい時があるんやけど、小tルーチンの止め方を書いてある本って少ない気がする。で、コルーチンの止…
ゲームを作っていると乱数を扱うことが多々あります。で、いつも使い方が分からなくなるのがRandom.Range()なんで、ここで改めて整理します。 // 0〜9が出力される int num = Random.Range(0, 10); // 0〜10が出力される float num = Random.Range(0f, 10f);…
横向き固定のアプリを作り際のUnityの設定方法です。あっAndroidの場合です。Project Settings / Player / Resolution and Presentation で、「Landscape Right」、「Landscape Left」にチェックを入れます。 ※「Portrait」、「Portrait Upside Down」のチェ…
Unityでゲームを作っていると、ボタンオブジェクトの子コンポーネントにあるテキストオブジェクトの名前を動的に出したいときが出てくる。 例えばRPGでいうと、アイテムを所持していないときは「なし」と表示し、アイテムを拾うと拾ったアイテム名を出したい…
よくUnityでは各オブジェクトにTagをセットする。プログラム内でこのタグを取得して、何かの判定をするというのはよくある実装。 今作っているゲームで、自オブジェクトのTagを取得して判定するという実装を組みたかったのだが、自オブジェクトのTagの取得方…
RPGのレベルアップの実装方法について調べると、累計経験値を使った計算式が色々でてきた。けど、これを理解して自分で使おうとするとハードルが高かったので、経験値テーブル(実際にはディクショナリ)を作って、それを使ってレベルアップを実装していこう…
約2カ月かけて、unity1weekで作ったゲームを改良してAndroidアプリを開発した。そのアプリがこれ。 play.google.com いわゆるウォーリーを探せ的なゲームです。全50問作ったのでボリュームは十分で、問題が進むと高難易度の問題もでてきます。サクッとでき…
タイトルの通り、Google Play Consoleにaabファイルをリリースしたら、以下エラーメッセージが表示された。 リリース時には、いつも何らかのエラーが出てしまうので対応方法をメモする。調べてみたら、対応方法はかなり簡単だった。UnityのProject Settings …
タイトルそのまんまです。日本時間の8日10:00に、オールスターゲームが行われる。近年のオールスターゲームは、各チームのキャプテンによるドラフト形式でチームが決定する。今年はチームレブロンvsチームデュラント。ドラフト形式になってから、レブロンは…
最近、記憶力の低下に悩んでいる。言葉が本当に出てこない。結婚して3年たつが、妻とは「アレ」で意思疎通ができるようになってきてしまった。これも、言葉が出てこない原因なのではないかと思う。これはいかんと思い、記憶力の強化を目的とした日記をつけ…
Unityでゲームを作って、Androidアプリとしてリリースしました!超絶シンプルですが、今の自分ができることを詰め込みました。無料で広告なしなので、ぜひぜひ遊んでみてください。 play.google.com