Unity2018.3.6+SQLServer2014 に基づいて実装されたログイン登録機能。
私の VR システムに簡易的なログイン登録機能を作成しました。
- Unity で以下のようなログインパネルを構築しました:
ビューに 3 つの Text(ログイン情報のヒント、アカウントパスワード入力のヒント)、3 つのボタン(ログイン登録イベントをマウントするため、システムを終了するため)と 2 つの inputText(アカウントパスワードを入力するため)を追加しました。 - 登録パネルを構築:
ログインパネルと同様にゲームオブジェクトを作成するだけで、異なるのは、ここに確認パスワードの入力ボックスが追加されていることですが、ここでの確認パスワードには何のコードロジックも追加していません。ただの装飾で、使っても使わなくても良いです。後で機能を改善する際に追加することもできます。 - Unity がデータベースに接続する前の準備 —— データベース DLL ファイルを参照:
Plugins フォルダーを作成し、4 つの dll ファイルを追加します:
注意:異なるデータベースに接続するために追加する dll ファイルは異なります。ここでは SQLServer に接続するので、この 4 つで十分です。これらの dll はインターネットで探すこともできますし、自分の Unity のインストールディレクトリで見つけることもできます:
ここで私は 1 つの問題に直面しました。Unity 2018.3.6f1 で dll ファイルをインポートするとエラーが出ました:
インターネットで解決方法を調べたところ、主に DLL の.NET バージョンがスクリプトの実行バージョンと一致しないということでした。ここで変更を行う必要があります ——File/Build Settings/Player Settings/Other Settings/Configuration を見つけて、
対応するバージョンを選択し、Unity を再起動すれば解決できます。さて、これで機能を実現するためのスクリプトを書き始めることができます。 - ログイン機能の実装:
(1)まずデータベースの内容を設計します:
(2)コード + ビジュアル実装:
userLogin というスクリプトを作成します:``
まずいくつかの参照を追加します:
(前に dll ファイルを追加していない場合、ここでは参照できず、下記でもデータベースに接続できません)
2 つの公共 inpuField コンポーネントと 1 つの静的テキストを定義します
ここでは、最初にログインヒント情報のテキストコンポーネントを取得し、ビュー内でこの Text コンポーネントに LoginMessage というラベルを追加します。
(3)次に、ログインメソッドを書き、データベースに接続してデータにアクセスし、入力されたデータと比較します:
server=“コンピュータの IP アドレス / コンピュータのユーザー名、デフォルトは 127.0.0.1 がローカルアドレスで、localhost も使用できます”、database=“自分で作成したデータベース名”、uid = データベースユーザー sa、pwd = データベースパスワードはカスタマイズ可能です。他の SQL 文は自分で学んでください。
(4)ログイン機能のテスト:
無入力:
データベースに存在しないアカウント:
パスワードが間違っている:
アカウントパスワードが一致して成功ログイン
5. ログイン機能の実装:
(1)登録ボタンにマウスクリックイベントを追加し、bool setactive の属性を設定します:
(2)登録の実装はデータベースにデータを追加することです:
(3)登録機能のテスト:
同じアカウントで登録する場合:
新しいアカウントを登録して成功ログイン:
さて、ここまでで私のログイン登録の小機能はついに完成しました。