全てのネットワークを監視するのは難しいですが,まずはブラウザを開いた時間を取得し,設定時間でタイマーを鳴らしてみては?
バイブを鳴らすことも可能です.
これ,能動的にアクセスするしかないんですよね.
自動でアクセスする方法は,,ないかな?
iPhoneのSafariでは(正しい意味での)ホームページを追加する項目がないので,そのサイトをホーム画面に追加し,Safariを起動するんじゃなく,そのページを毎回起動し,隠しておくというのがいいのかな?
全てのネットワークを監視するのは難しいですが,まずはブラウザを開いた時間を取得し,設定時間でタイマーを鳴らしてみては?
バイブを鳴らすことも可能です.
これ,能動的にアクセスするしかないんですよね.
自動でアクセスする方法は,,ないかな?
iPhoneのSafariでは(正しい意味での)ホームページを追加する項目がないので,そのサイトをホーム画面に追加し,Safariを起動するんじゃなく,そのページを毎回起動し,隠しておくというのがいいのかな?
「みんなで書き込む」を実現するには,データベースの構築あたりが必要かと.
PHPを使って,サーバ側に置いた○○.txtを書き換えるスクリプトをコントロールすれば良いかと.
そして,PHP,html,css,javascriptのファイルを組み合わせればできそうです.
ただphpの実行ができるサーバ環境を準備してください.
数字だけですが,,この数字をGUIに適用すれば棒グラフ作れますね.
var percentageLoaded : float = 0; function Update() { if(Application.GetStreamProgressForLevel("読み込みたいシーン名") == 1) { guiText.text = "ゲームの準備完了!!"; } else { percentageLoaded = Application.GetStreamProgressForLevel("読み込みたいシーン名") * 100; guiText.text = percentageLoaded.ToString() + "%読み込みました"; } }
スピードを検出します.キャラクタコントローラがアサインされていることが必須です.
それと同じオブジェクトにアサインしてください.
#pragma strict static var horizontalSpeed : float = 0.0; function Start () { } function Update () { var controller : CharacterController = GetComponent(CharacterController); var horizontalVelocity : Vector3 = controller.velocity; horizontalVelocity = Vector3(controller.velocity.x, 0, controller.velocity.z); // The speed on the x-z plane ignoring any speed horizontalSpeed = horizontalVelocity.magnitude; //print(horizontalSpeed); Debug.Log(horizontalSpeed); }
ボタンを2つ用意してカメラを切り替えます
スクリプトを適用した後,カメラをアサインしてください.
var cameraA : GameObject; var cameraB : GameObject; cameraA.camera.enabled = true; cameraB.camera.enabled = false; function OnGUI () { // background box GUI.Box (Rect (Screen.width -110,10,100,90), "Cam Type"); // first button if (GUI.Button (Rect (Screen.width -100,40,80,20), "RGB CAM")) { cameraA.camera.enabled = true; cameraB.camera.enabled = false; } // second button. if (GUI.Button (Rect (Screen.width -100,70,80,20), "Move CAM")) { cameraA.camera.enabled = false; cameraB.camera.enabled = true; } }
どうやらUnityのGUIは普通のGUIとGUI Layoutというものがあります.GUI-Skinを適用すると大きさや書体やデザインを自由に変えられます.これ,cssのようなものとおもってください.
それはともかく,GUIです.
var hSliderValue : int = 0; var akairo : float = 0.0; function OnGUI () { hSliderValue = GUI.HorizontalSlider (Rect (25, 25, 100, 30), hSliderValue, 0, 255); akairo = hSliderValue / 256.0; // slider value display GUILayout.BeginArea (Rect (130,20,150,70)); GUILayout.BeginVertical(); GUILayout.Box("R(8bit=0-255): " + Mathf.Round(hSliderValue)); GUILayout.EndVertical(); GUILayout.EndArea(); } function Update () { light.color = Color(akairo, 0.0, 0.0); }
GUILayout.BeginAreaから始まって,GUILayout.EndAreaで終わります.この2つで囲むことが重要です.
いや,HTML5と同じですが,,一応,,
var cubecount : int = 0;//Unityの変数宣言,コロンで型を指定しますよ function Update () { if (cubecount < 9) {//もし9未満なら print(cubecount);//cubecountを表示せよ cubecount = cubecount+ 1;//一個増やす } else {//そうじゃやないなら print("end");//endを表示 } }
CSSの例です
今回はクラス名でcssを作成します
文字代入でかなりIDを多用します.このID指定と混乱を避けるためあえてクラスで指定します.
サンプルです.CSSはmycss.cssという名前で,HTMLと同じ階層に保存してください.HTMLの方は好きな名前でかまいません.
@charset "UTF-8"; /* CSSのコメントの書き方 */ .cat{/*クラス名の宣言*/ background: #b3b3b3;/*背景色の設定*/ border-radius: 10px 10px 10px 10px;/*角を丸める*/ height: 100px;/*高さは100ピクセル*/ margin: 40px;/*余白*/ width: 80%;/*幅はピクセルでも全体に対しての割合でもOK*/ text-align: center;/*文字の横方向をセンタリング*/ }/*catクラスここまで*/
つづいてHTMLです.
開く際はこのHTMLを開いてください.
<!DOCTYPE html> <html> <head> <link href="mycss.css" rel="stylesheet" type="text/css"> <!-- CSSを読み込む--> <title>CSSの使い方</title> <meta charset="UTF-8"> </head> <body> <div>ここには表示されない</div> <div class="cat">ここにはCSSが適用される</div> </body> </html>
次のように表示されます.
これを応用すると,動くボタンなどが作成できます
CSS デザイン
や
CSS アニメーション
で検索し,使えそうなクラスを探してみましょう.
ちなみにブロック要素とインライン要素で適用できないCSSもありますので注意を.
アニメーションなど一部機能のうちスマートホンでは,-webkit- を頭につけないと動かないものもあります.
PC版とスマホ版を共用したい場合は,併記しましょう.
配列の例を5つあげます
<!DOCTYPE html> <html> <head> <title>外部ライブラリの使い方</title> <meta charset="UTF-8"> </head> <body> <div id="hyouji"></div> <!--idを探させる場合,探す前にそのID付きのタグを書いておくこと(この場合,下のdocumen.getElementの前ってこと)--> <script type="text/javascript"> var animal = new Array("豊田市","梅坪","上豊田","浄水","三好ヶ丘","米野木","日進","赤池");//変数に配列を入れ込む.この配列を //----(1)配列の長さを調べる var kazu = animal.length; console.log("長さ"+kazu);//webコンソールで確認 //「長さ8」と表示される //----(2)配列を検索する(浄水駅が何番目か調べる) var nanban = animal.indexOf("浄水"); console.log("浄水駅は" + nanban);//webコンソールで確認 //「浄水駅は3」と表示される 実際には4番目ですが,順番は0から始まっている3と表示 //---(3)配列の要素を指定(5番目の駅を表示させる) var banme = animal[4];//0から始まるので5番目は4です console.log(banme + "駅です");//webコンソールで確認 //「三好ヶ丘駅です」と表示される //---(4)(3)の応用(変数eki番目の駅を表示する) var eki = 5; var banme = animal[eki];//0から始まるので5番目は4です console.log(eki + "番目の駅は" + banme + "駅です");//webコンソールで確認 //「"5番目の駅は米野木駅です"」と表示される //--(5)今17分で,次の電車の時間(22分)を検索する var jikoku = new Array(10,15,22,29);//rinjiって変数に配列を入れ込む var mytime = 17;//今の時間を仮に17分とする function myKensaku(nowTime){ for (i = 0; i < jikoku.length; i++) {//jikokuの要素を1つずつ取り出す.最大値はjikokuの長さまで if(nowTime < jikoku[i]){//もしmytime(17分)より大きい要素が入ったら nextTram = jikoku[i];//nextTramはその要素ね return nextTram;//22がnextTramに入って戻る.returnは処理を止める } } } mynext = myKensaku(mytime);//変数mynextには,myKensakuを実行した戻り値を入れなさい var nokorijikan = mynext - mytime + "分残り";//残り時間を変数nokorijikanに入れる document.getElementById("hyouji").innerHTML = nokorijikan;//ID hyoujiのあるタグを探して,umaを代入せよ. //「5分残り」表示されます //---ここまで </script> </body> </html>