全てのネットワークを監視するのは難しいですが,まずはブラウザを開いた時間を取得し,設定時間でタイマーを鳴らしてみては?
バイブを鳴らすことも可能です.
これ,能動的にアクセスするしかないんですよね.
自動でアクセスする方法は,,ないかな?
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>