Google スプレッドシートでタスク管理/シートの作成1(タスクの記載)

以下の記事の「シートの作成1(タスクの記載)」
yasuaki-ohama.hatenablog.com
f:id:yasuaki-ohama:20160202002531p:plain:w400

目次

「状態」の各セルの色を文字によって自動で変更
  • 「完了」を緑色にする
  • 「未着手」を赤色にする
  • 「完了」と「中断」の行を灰色にする
プルダウンメニューの作成
  • セルをクリックすると「完了,作業中,未着手,中断」の中から文字を選択できるようにする
フィルタ
  • フィルタを作成
  • 「完了」と「中断」を非表示にする
  • 行が増えた時の対応

「状態」の各行の色を文字によって自動で変更

f:id:yasuaki-ohama:20160131174131p:plain:w400
状態によって以下のように自動で色分けできるように設定を行う

状態
完了 緑色
作業中 黄色
未着手 赤色
中断 灰色

「完了」を緑色にする

「状態」の列の7行目から一番下まで選択
右クリックして「条件付き書式」を選択
f:id:yasuaki-ohama:20160131163603p:plain:h300
セルの書式設定の条件に「完全に一致するテキスト」を選択し、「完了」と記載する
ボタンを押さないと範囲されないので注意
f:id:yasuaki-ohama:20160202000027p:plain
「完了」が緑色になる
f:id:yasuaki-ohama:20160131163703p:plain:h300

「未着手」を赤色にする

追加した条件付き書式「完了」に完全に一致するテキストをクリック
f:id:yasuaki-ohama:20160131163951p:plain:w200
下にある「条件を追加」をクリック
f:id:yasuaki-ohama:20160131164528p:plain:h400
同じ条件が複製される
完全に一致するテキストを「完了」→「未着手」に変更し、カラーを赤に変更する
f:id:yasuaki-ohama:20160131164551p:plain:w400
以下のように色を選ぶこともできる
f:id:yasuaki-ohama:20160131164650p:plain:w400

完了と中断の行を灰色にする

f:id:yasuaki-ohama:20160131171142p:plain:w400
範囲に適用」をクリック
データに二つの範囲を追加する

  • A7:A16(シートの状態の左側)
  • C7:E16(シートの状態の右側)

セルの書式設定の条件から「カスタム数式」を選択

=$B7="中断"

と入力する
色を灰色に設定し完了をクリックする
同様に「完了」の処理も条件を追加し作成する

=$B7="完了"

結果
f:id:yasuaki-ohama:20160131171124p:plain:w400

プルダウンメニューの作成

セルをクリックすると「完了,作業中,未着手,中断」の中から文字を選択できるようにする

「状態」の列の7行目から一番下まで選択「データの検証」をクリック
f:id:yasuaki-ohama:20160131173315p:plain:h400
リストを直接指定」をクリック
f:id:yasuaki-ohama:20160131173311p:plain:w400
「完了,作業中,未着手,中断」を入れる
f:id:yasuaki-ohama:20160131173313p:plain:w400
セルをクリックするとセルをクリックすると「完了,作業中,未着手,中断」の中から文字を選択できるようになる
f:id:yasuaki-ohama:20160131173309p:plain:h200

フィルタ

特定の担当者の特定の状態のタスクのみを表示したい時フィルタの機能を利用すると簡単に実装することが出来る

  • 担当者「田中」
  • 状態「未着手」

f:id:yasuaki-ohama:20160201225114p:plain:w400

フィルタを作成

「担当」、「状態」を選択
三角のアイコンをクリック
新しいフィルタ表示を作成をクリック
f:id:yasuaki-ohama:20160201224435p:plain:w400
「担当」、「状態」にフィルタをかけられるようにする
f:id:yasuaki-ohama:20160201224637p:plain:w400

「完了」と「中断」を非表示にする

三角のアイコンをクリック
「完了」と「状態」のチェックを外す
f:id:yasuaki-ohama:20160201224912p:plain:w200
以下のようになる
f:id:yasuaki-ohama:20160201225001p:plain:w400

行が増えた時の対応

範囲:をクリック
f:id:yasuaki-ohama:20160202001708p:plain:w300
右側の数字だけを削除してEnter
f:id:yasuaki-ohama:20160202001713p:plain:w300
範囲が一番下まで移動する
f:id:yasuaki-ohama:20160202001718p:plain:w300

Google スプレッドシートでタスク管理/シートの作成0(基礎知識)

以下の記事の「シートの作成0(基礎知識)」
yasuaki-ohama.hatenablog.com
f:id:yasuaki-ohama:20160131162002p:plain:w400

完成したスプレッドシート

値が何も入っていないと説明しにくいので、適当にデータを入れました(架空の人と架空のタスクです)
Google スプレッドシートでタスク管理/シートの作成0(基礎知識) - Google スプレッドシート

目次

  1. Googleスプレッドシートの作成
  2. 名前の変更
  3. 行列の挿入・削除
  4. 使わない行列を削除
  5. 記入・色を塗る
  6. セルの横幅を自動調節
  7. 行列を固定する
  8. シートの複製
  9. 別のシートに複製

Googleスプレッドシートの作成

Googleドライブを開く
「新規->スプレッドシート
をクリックするとGoogleスプレッドシートが作成される
f:id:yasuaki-ohama:20160131145543p:plain:h200
以下のような行列の構造になっている
簡単に機能説明

  • セルに文字、数値、画像、URLを入力できる
  • 演算機能や条件による色分け処理ができる

f:id:yasuaki-ohama:20160131145545p:plain:w300

名前の変更

左上をクリックするとスプレッドシートの名前を変更できる
f:id:yasuaki-ohama:20160131145544p:plain:w100

行列の挿入・削除

挿入・削除したい行(123...)のところを右クリック
f:id:yasuaki-ohama:20160131145547p:plain:w200
挿入・削除したい列(ABC...)のところを右クリック
f:id:yasuaki-ohama:20160131145546p:plain:w200

使わない行列を削除

Googleスプレッドシートは使わない行列を削除することができる
列F〜Z列までを選択して削除
f:id:yasuaki-ohama:20160131145549p:plain:w200
行17〜行1000までを選択して削除
f:id:yasuaki-ohama:20160131145548p:plain:w200
以下のようにF列以降と17行以降のデータを削除することが出来る
f:id:yasuaki-ohama:20160131145550p:plain:w300

記入・色を塗る

色を塗りたい範囲を選択
バケツマークのアイコンをクリック
塗りたい色をクリック
f:id:yasuaki-ohama:20160131154133p:plain:w400
セルをクリックすると文字を書き込みできる
f:id:yasuaki-ohama:20160131154132p:plain:w100

セルの横幅を自動調節する

f:id:yasuaki-ohama:20160201232653p:plain:w400
変更したい列(ABC...)を選択
「列A - Eのサイズを変更」を選択
f:id:yasuaki-ohama:20160201232855p:plain:w400
データに合わせるを選択
f:id:yasuaki-ohama:20160201232935p:plain:w300
以下のように横幅を文字に合わせて変更できる
f:id:yasuaki-ohama:20160201232950p:plain:w400

行列を固定する

6行目を選択し「表示->固定->現在の行」をクリックする
f:id:yasuaki-ohama:20160202003314p:plain:w400
行の数が増えた場合、または、ウィンドウが小さい場合でも固定した行が常に表示される
f:id:yasuaki-ohama:20160202003323p:plain:w400

シートの複製(別のシートにも可)

左下のシートのタブを右クリック
「コピーを作成」をクリック
f:id:yasuaki-ohama:20160131155150p:plain:h200
複製される
f:id:yasuaki-ohama:20160131155149p:plain:w300

別のシートに複製

「別のワークブックにコピー」をクリック
複製したいスプレッドシートを開いてURLをコピーする
f:id:yasuaki-ohama:20160131155729p:plain:w400
「ウェブアドレスを貼り付け:」以下にURLを入力する
f:id:yasuaki-ohama:20160131155732p:plain:w400
別のスプレッドシートに複製される。

Google スプレッドシートでタスク管理

概要

f:id:yasuaki-ohama:20160202012548p:plain
複数人で作業をしている場合、以下の管理が大変です。

  • 全体の進捗
  • 誰が何をしているのか
  • 終了、進行中、未作業のタスク
  • いつ完了したのか
  • どのくらいかかるのか

そこで今回は
googleスプレッドシートを利用して簡単にタスク管理する方法
を紹介します。

タスク管理シートの使い方

  • 項目の追加
  • カレンダー記載

動画

  • シートの作成0(基礎知識)

作成中...

  • シートの作成1(タスクの記載)

作成中...

  • シートの作成2(演算)

作成中...

拡大縮小

f:id:yasuaki-ohama:20160423181758p:plain:w400

unity Editor ゲームを再生中にTimeScaleを自由に変更する TimeScaleWindow

f:id:yasuaki-ohama:20160114221554p:plain:w400

概要

Unityでゲームを再生中にTimeScaleを自由に変更するEditorWindow作成した。

使い方

以下のサイトからダウンロード
TimeScaleWindow.cs · GitHub
f:id:yasuaki-ohama:20160114222215p:plain
プロジェクトに入れる
f:id:yasuaki-ohama:20160114222308p:plain:w300
TimeScaleWindowをクリック
f:id:yasuaki-ohama:20160114222222p:plain:w300
適当に配置
f:id:yasuaki-ohama:20160114221554p:plain:w400

機能説明

aaa 説明
isActive 機能を有効にする
DoNotChangeTimeScale0 TimeScaleが0の時、値を変更しないようにする
TimeScale 0 TimeScaleを0にする
TimeScale 1 TimeScaleが1にする
TimeScale 0〜n TimeScaleを自由に変更
最大値 TimeScale 0〜nの最大値を決める

補足「DoNotChangeTimeScale0」について

「DoNotChangeTimeScale0」はこの機能を使いながらゲーム中にポーズを行いたい時など、TimeScaleを0にした後に値を変更されたくない場合に利用する。

参考動画 ザ・ワールド!!

時を止める、ゆっくり動かす、速く動かす
www.youtube.com
動画は作成中のゲームです↓
http://yasuaki-ohama.com/

(続) unity セーブデータの読み込み、書き込みを高速化する。 PreviewLabs.PlayerPrefs

概要

前回書いた記事の追記です。
Unityで利用されるPlayerPrefsの読み込み、書き込み処理を高速化します。
yasuaki-ohama.hatenablog.com

修正点

利用するスクリプトに毎回これを入れなければならなかった部分を修正しました。

using PlayerPrefs = PreviewLabs.PlayerPrefs;

変更点の説明

C#には以下の仕様がある
「ネームスペースを利用したクラスとしていない同名のクラスがある場合、利用しないほうが優先される」
この仕様によって同じクラス名「PlayerPrefs」を宣言すれば自分の作成したクラスが優先して呼ばれます。

using UnityEngine;

namespace NamespaceTest
{
    public static class Sample
    {
        public static void Call()
        {
            //NamespaceTest.Sampleが表示される
            Debug.Log (typeof(Sample).ToString ());
        }
    }
}

public static class Sample
{
    public static void Call()
    {
        //Sampleが表示される
        Debug.Log (typeof(Sample).ToString ());
    }
}

以下のように「using NamespaceTest;」と書いた場合でもネームスペース無しのクラスが優先される

using UnityEngine;
using System.Collections;
using NamespaceTest;

public class Test : MonoBehaviour
{
	void Start () {
        Sample.Call ();
    }
}

f:id:yasuaki-ohama:20160111231210p:plain:w400

補足(利用上の注意)

PlayerPrefsFlush.csのスクリプトを見ない限り、基本的にUnity既存のPlayerPrefsを使っていると考えてしまうので、複数人開発をする時はコンフルなどに書いておきましょう。

以下のような宣言を書いて置き「Scripting Define Symbols」に記載することで回避する方法もあります。

#if USE_PLAYER_PREFS_FLUSH

しかし、PlayerPrefsFlushでしか利用されないメソッドが存在するためエラーが発生するのでおすすめできません。

win キーボード us jis ctrl caps 変更

キーボードを変更する時、詰まったところをまとめた。

外付けキーボードの設定

HIDキーボードはUSB接続キーボードなので、それにPS/2接続キーボードのドライバを適用することはできないので注意
ノートPCの場合、ドライバを変更すると外付けのキーボードも同じ設定になる。
HID(外付けキーボード)を選択しないように注意する
f:id:yasuaki-ohama:20160111213458j:plain:w400

「Caps」と「Ctrl」の入れ替え

以下のサイトを利用すると簡単にできる
「Caps」と「Ctrl」の入れ替え
f:id:yasuaki-ohama:20160111215402j:plain:w400

unity Editor コンポーネントをソートする SortComponentsWindow.cs

f:id:yasuaki-ohama:20160114003029p:plain:w400

目次

概要

UnityではGameObjectにアタッチしているコンポーネントの順番を入れ替えたい時
「Move Up」「Move Down」をクリックして移動する。
f:id:yasuaki-ohama:20160110115714p:plain:w400
そのため、好きな順番にソートするのが大変です。
なので今回は、簡単にソートができるエディタウィンドウを作成しました。

機能

使い方

以下のサイトからSortComponentsWindow.csをダウンロード
Applyボタンあり(入れ替え後、ボタンを押して反映)
Applyボタンなし(入れ替えると自動で反映)

f:id:yasuaki-ohama:20160110121223p:plain
Unityにドラック & ドロップするとEditorWindowがでてきます
f:id:yasuaki-ohama:20160110123130p:plain:w400
Sort Components Windowをクリック
f:id:yasuaki-ohama:20160110123152p:plain:w400
適当に配置
f:id:yasuaki-ohama:20160110123209p:plain:w400
ソートしたいオブジェクトをドラック & ドロップ
f:id:yasuaki-ohama:20160114004948p:plain:w400
ドラックしてコンポーネントをドラックして入れ替えできる
f:id:yasuaki-ohama:20160114004957p:plain:w400
プレハブも可能

スクリプト

gist.github.com

テストに利用したスクリプト

using UnityEngine;
using System.Collections;

public class Script_1 : MonoBehaviour
{
    public int value_1;
}
using UnityEngine;
using System.Collections;

public class Script_2 : MonoBehaviour
{
    public int value_2;
}
using UnityEngine;
using System.Collections;

public class Script_3 : MonoBehaviour
{
    public int value_3;
}

製作時の問題

「CheckComponentsUpdate ()」を作成した経緯

以下の方法で試したが更新できなかったため手動検知プログラムを作成した

    void OnMouseDown()
    {
        //更新処理
    }

    void OnValidate()
    {
        //更新処理
    }

    private void OnGUI()
    {
        EditorGUI.BeginChangeCheck ();

        ...

        if (EditorGUI.EndChangeCheck ()){
                //更新処理
        }
    }

スクリプトが外れている場合の対処

f:id:yasuaki-ohama:20160111005907p:plain:w300

アタッチしたスクリプト内にある変数の値を表示

f:id:yasuaki-ohama:20160114005012p:plain:w400

m_reorderableList.drawElementCallback = (rect, index, isActive, isFocused) => {
    EditorGUI.LabelField(rect, SrawElementCallback((Object)m_reorderableList.list[index], index));
};

SrawElementCallbackをSrawElementCallbackCustomに変更する

m_reorderableList.drawElementCallback = (rect, index, isActive, isFocused) => {
    EditorGUI.LabelField(rect, SrawElementCallbackCustom((Object)m_reorderableList.list[index], index));
};

やってはいけない操作

SortComponentsWindowで同じプレハブを
「プロジェクト」と「ヒエラルキー」の両方で操作を行うと個数が2倍になります。


1、プロジェクトにあるプレハブをヒエラルキーに置く
2、ヒエラルキーのプレハブをSortComponentsWindowに入れて操作(コンポーネントの複製と削除)
3、プロジェクトのプレハブをSortComponentsWindowに入れて操作(コンポーネントの複製と削除)
4、(2、3)によりヒエラルキーとプロジェクトのプレハブに差分が発生
5、ヒエラルキーのプレハブにプロジェクトの差分が自動で追加(Unityの機能)
結果ヒエラルキーコンポーネントの個数が2倍になる