前回構想したので、作ります。
bibinbaleo.hatenablog.com
ストップウォッチ事例
必要な要素はとか表示形式を調べる。
stopwatch.onl.jp
スタートボタンとクリアボタンがある。

スタートを押すとスタートボタンがクリアボタンに変わる

桁はhh:mm:ss.fff
ミリ秒はfffだって

C#:時刻をミリ秒まで表示する | 電脳産物
Androidに入っているストップウォッチはこんな感じ

最初はStartボタンしかない
StartするとStartボタンが一時停止になって、リセットとラップが出てくる。今回はラップは作らない。

数字は桁が増えると増えていく。

ちなみに円はラップをおすと円上の青い小さな円が回る。不思議なUIだ・・・
さてどうしよう、StartとStopを同じボタンにすべきなのかな?
めんどくさいな・・・
あと桁は時間は要らないっしょ
素材とか
パーツ制作
ニューモフィズムは以前XDで作ってみたのでそれを下に作って行く

bibinbaleo.hatenablog.com
右側、凹んで見える時もあれば凸に見える時もある。錯覚面白い!


とりあえず切り替わったら凹んだように見えるので、左が通常時、右が押した時にする




どっかで素材は改めて配布するけど、ご自由に使ってください。
配布しました
bibinbaleo.booth.pm
音
このボタンを押した時の音は何がいいんだろう。
モフって感じの音欲しい
もきゅならあった
otologic.jp
最初Button03aを使ってた
ゲーム・ボタン音〜フリー効果音・無料効果音素材
最終的にMRTKのAudioを使うことにした
github.com
MITライセンス!
フォント
Robotにした
fonts.google.com

ThirdParty表記
tablericons.com

アプリアイコン

https://material.io/resources/icons/?search=alarm&icon=alarm&style=baseline
Unity
コード
先にC#書く。
こちらを元に改造しました。
kerotan-factory.xblog.jp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
public class Counter : MonoBehaviour
{
public Image Button_Image;
public Sprite Sprite_Start;
public Sprite Sprite_Stop;
public Text Text_StartStop;
public Text Text_mmsss;
public Text Text_ff;
private float movetime;
private bool moving;
void Start()
{
TimeReset();
}
void Update()
{
if (moving)
{
movetime += Time.deltaTime;
TimeSet();
}
}
public void WatchStart()
{
moving = true;
}
public void WatchStop()
{
moving = false;
}
public void WatchStartStop()
{
moving = !moving;
if (moving)
{
Text_StartStop.text = "Stop";
Button_Image.sprite = Sprite_Stop;
}
else
{
Text_StartStop.text = "Start";
Button_Image.sprite = Sprite_Start;
}
}
public void TimeReset()
{
movetime = 0;
Text_mmsss.text = "00:00";
Text_ff.text = ".00";
}
private void TimeSet()
{
int provtime = 0;
int twodecimal = 0;
provtime = Mathf.FloorToInt(movetime);
twodecimal = Mathf.FloorToInt((movetime - provtime) * 100);
TimeSpan ts = new TimeSpan(0, 0, provtime);
Text_mmsss.text = ts.ToString(@"mm\:ss");
Text_ff.text = "." + twodecimal.ToString("D2");
}
}
DeviceSimulator
いろんな端末での解像度を試すのにDeviceSimulatorが最高
2019.3のpreviewにある

GameViewで自分で設定してもいいけどDeviceSimulatorだといろいろな機種のサイズがあって最高

tsubakit1.hateblo.jp
bibinbaleo.hatenablog.com
UIとか
背景はDFE6EC

PressedSpriteに凹んだ時の画像をセットするといい感じ!!

StartとStop一緒にした

MacBuild
Macで作ったのでとりあえずMacビルドはした。
大きさは500*320にしたけど、自由に変更できるようにしたい

Resizable Windowにチェック入れたらいい。

Github
ReleaseにMacビルドデータおいて、リポジトリもpublicにした。
多分大丈夫なはず。
https://github.com/bibinba/WhiteStopWatch/releases
SocialPreview設定してみた

おおー
github.com
最後に
今後Windowsに持っていって、Androidアプリとして出すのとWebGLとかでwebでも見れるようにしたい。
あと配布するなら普通にデスクトップアプリかな?
Unityならなんでもできる!
一旦終わり!