header_medi8

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin

2016年2月23日火曜日

高嶋ちさ子 ゲームバキバキ事件に思うこと

http://www.j-cast.com/2016/02/15258532.html

先日、バイオリニストの高嶋ちさ子氏が子供のゲーム機を昼間にやってはいけないという約束を破ったため、バキバキに折ってやったというニュースを見た。

約束を破ったことを怒るのは結構。でもやり方があるでしょう。
ゲーム機を折る必要はなかったと思う。

そのゲーム機を作るために、どれだけのエンジニアがどれだけの時間を掛けたかを考えて欲しい。

例えば、高嶋さんが多くの時間を掛けて一生懸命作成した自身のCDをどなたかの子供が大好きでいついつも聞いていたとしよう。
その子の母親が、約束を破ったからといってそのCDをバキバキに折っていて、
その写真を見てしまったときに彼女は何も思わのないだろうか。

破壊してしまう以外にも子供に言って聞かせる方法はあったはずである。

没収するだけでもよかっただろう。
子供の目の前で売却してもよかったかもしれない。

百歩譲ってゲームを破壊したとことに目を瞑ったとしても、それを写真に撮って世の中に晒す必要はない。
子育てのためだというなら、子供のためにもなおさら家の中だけでおさめてもらいたい。

彼女は約束を守ることの大切さは教えられたのかもしれないが、ものを大切にすることも同じように教えてあげて欲しい。

2016年2月17日水曜日

UnityのuGUIでListViewを作る方法

Unityには、GUIの作成をサポートする通称『uGUI』と呼ばれる機能があります。
ここ最近でずいぶん使いやすくなってきましたが、まだ最初から用意しておいて欲しいUI部品がなかったりします。

あるアプリを開発している時に『ListView』が欲しくなったのですが、uGUIには元から用意されていません。
そこで、AssetStoreを見てみたらいくつか売られていましたが、

頑張ったら作れるんじゃないの?

と調子に乗ってみたところ、なんとかListViewを自作できました。
ここでは、僕なりのListViewの作り方を解説してみます。

ScrollViewを追加する


今回作るListViewですが、基本となるのはScrollViewです。
簡単に言うと、ScrollViewにスクリプトを設定して、ListViewっぽくするだけです。

というわけで、まずは2Dプロジェクトを作成して、[Create - UI - Scroll View] でScrollViewを追加します。

すると、Canvasがない場合は自動的にCanvasが追加され、その下にScrollViewが追加されます。

最初は表示がよくわからないと思うので、まずはCanvasの設定を変更しておきます。
Canvasを選択して、Inspectorの[Render Mode] を[ Screen Space - Camera] に変更し、「Render Camera」を「Main Camera」に設定しておきます。こうしておくと、このCanvasが指定したカメラに対してOverlay表示されるのでみやすくなります。
(実際は、自分の作成するアプリに合わせて変更してください)


こうすると以下のような画面になります。


ちなみにInspectorはこんな感じ。サイズは適当に決めてください。


作成するListViewにもよりますが、今回は縦スクロールのみとするので、「Scrollbar Horizontal」をHierarchyから削除してしまいます。


そして、「Scroll View」を選択して「Scroll Rect (Script)」の「Horizontal」のチェックも外してしまいましょう。

これで、縦スクロールのみのScroll Viewになったので、ListViewの元ができました。
名前も「List View」に変えてしまっておきます。

ListViewnのアイテムを作成


次は、ListViewの1行に表示する項目を集めたアイテムを作成します。
Hierarchy から [Scroll View - Viewport - Content] と開き、Contentの下に空のGameObjectを追加します。



追加した Game Object を選択して、Anchorを変更します。


Pivotを(1, 1)に変更し、Left, Pos Y, Right, Heightをお好みに合わせて設定しておきます。今回は以下のようにしました。


そうしたら、ここで追加したGameObject を ListViewItem 等の名前に変更しておきます。

次に、作成したListViewItemに表示したい項目を入れていきます。今回は、背景色とテキストのみとします。

まずは背景色を追加します。先ほどのListViewItemを選択して、右クリック[UI - Image] で画像を追加して、名前はBackgroundにしておきましょう。
Backgroundを選択して、InspectorのImageコンポーネントのColorを好きな色に設定します。RectTransformは以下の画像を参考に設定してみてください。Pivotは(1,1)にしておくと良いと思います。



次に、右クリック[UI - Text]でテキストを追加しておきます。Textの設定も以下の画像を参考にしてください。



そうするとこんな感じになります。


ちなみにHierarchyはこんな感じ。


ここまでできたら、ListViewItemをProjectウィンドウにドラッグ&ドロップして、Prefab化しておきます。Prefab化できたら、HierarchyのListItemViewは削除しておきましょう。

これで下準備は完了です。ここからスクリプトを書いていきます。

スクリプトを作成する


ProjectウィンドウでC#スクリプトを作成します。名前は「ListViewController」にしておきましょう。

ファイルを開いたら、まず、「Content」の変数を用意します。そして、あとでListViewに項目を追加していくので、先ほど作成したListViewItemのPrefabも変数にして持っておきましょう。

using UnityEngine;
using System.Collections;

public class ListViewController : MonoBehaviour {
    public RectTransform content_;
    public GameObject item_prefab_;

    // Use this for initialization
    void Start () {
    }
 
    // Update is called once per frame
    void Update () {
    }
}

作成したスクリプトを Hierarchy の List View にドラッグ&ドロップして、先ほど作成した変数に Inspector から「_content」にはViewport の 「Content」を、「item_prefab_」には「ListViewItem」をそれぞれセットしておきます。


ListViewの項目を作っていく


ここからListViewに表示する項目を作っていきます。
先ほど作成した、ListViewItemは文字列を表示する箇所があったので、表示する文字列を指定できるようにしましょう。
まずはスクリプトに、表示する文字列を設定する配列を変数として追加します。ここでは「itemList_」としておきましょう。

public class ListViewController : MonoBehaviour {
    public RectTransform content_;
    public GameObject  item_prefab_;
    public string[]   itemList_;
      :
      :

そうしたら、今度はUnityのListViewのInspectorビューで「itemList_」に値を設定します。ここではサイズが10、item0〜item9の文字を表示することにしましょう。


ListViewにこれらの項目が設定されたListViewItemを追加していくわけですが、ここでVertical Layout Group を使用します。

Vertical Layout Group は、Layout Group の中の1つですが、これは子要素を縦方向に自動的にレイアウトしてくれるコンポーネントです。

このコンポーネントをListViewの Content に設定します。


あとは、作成しておいたListViewItem Prefab をスクリプトからこのContentにスクリプトに追加していくのですが、Contentの高さをListViewItemの高さと追加する数に合わせて調整したいので、Start()のときにListViewItemの高さを取得しておきます。

itemの高さを保持しておく変数を作成し、起動時にStart()で一度ListViewItemのPrefabのインスタンスを作成し、高さを取得しておきます。
ここでは、このItemは使用しないのでDestroyしてしまいます。

private float itemHight_;

// Use this for initialization
void Start () {
    GameObject item = GameObject.Instantiate(item_prefab_) as GameObject;
    RectTransform rect = item.GetComponent();
    itemHight_ = rect.rect.height;
    GameObject.Destroy(item);
}

これで、Item1つあたりの高さが取得できたので、実際にListViewの項目を作っていきましょう。やることとしては以下の2つです。

  1. ListViewItemの個数に合わせてContentの高さを調整する
  2. Contentの子要素としてListViewItemのインスタンスを設定していく

ListViewの項目を更新する関数を作成します。

private void UpdateListView() {
    // item数に合わせてContentの高さを変更する.
    int setting_count = itemList_.Length;
    float newHeight = setting_count * itemHight_;
    content_.sizeDelta = new Vector2(content_.sizeDelta.x, newHeight); // 高さを変更する.

    // Contentの子要素にListViewItemを追加していく.
    foreach (string itemStr in itemList_) {
        GameObject item = GameObject.Instantiate(item_prefab_) as GameObject; // ListViewItem のインスタンス作成.
        Text itemText = item.GetComponentInChildren<Text>(); // Textコンポーネントを取得.
        itemText.text = itemStr;

        RectTransform itemTransform = (RectTransform)item.transform;
        itemTransform.SetParent( content_, false ); // 作成したItemをContentの子要素に設定.
    }
}

これで、itemList_で指定した文字列がListViewに表示されているはずです。


これでも問題ないのですが、念のためListViewを更新するときに、最初に項目をクリアする処理を入れておきましょう。
private void UpdateListView() {
    RemoveAllListViewItem(); // ListViewの項目を一度削除する.

    // item数に合わせてContentの高さを変更する.
    int setting_count = itemList_.Length;
    float newHeight = setting_count * itemHight_;
    content_.sizeDelta = new Vector2(content_.sizeDelta.x, newHeight); // 高さを変更する.

        :
        :
        :
}

private void RemoveAllListViewItem() {
    foreach (Transform child in content_.transform) {
        GameObject.Destroy(child.gameObject);
    }
}


これでuGUIでのListViewの作成は完了です!

今回はListViewのアイテムはTextだけにしましたが、Prefab化したListViewItemをカスタマイズすることで、好きな項目を表示することができます。

ぜひお好きなListViewにカスタマイズしてみてください!

2016年2月14日日曜日

携帯と家のネットを合わせても、料金6,000円弱に抑える方法!

スマホの料金が高くて困っていませんか?

少し前から格安SIMが注目されて少しずつ携帯料金が安くなっているとはいえ、2015年9月の朝日新聞の記事では、平均7,200円/月とも言われています。

さらに家にネットを引いていたら、5,000円/月〜6,000円/月 かかっているのではないでしょうか。携帯料金と合計すると軽く10,000円/月を超えている人も多いと思います。

今回は、スマホ+ガラケー+モバイルWi-Fiルーター にすることで携帯料金とネット料金をダブルで節約する方法を紹介します。

私はドコモユーザーなので、携帯の契約についてはドコモの場合の方法を書いています。


携帯をガラケーに変える


まずは、現在使用しているスマホをガラケーに変更します。そのためには、ガラケーを購入してドコモショップで契約内容を変更する必要があります。
もしも、お手元にある昔使用していたガラケーを使用したいと考えている場合は、それを持ってドコモショプに行ってください。

ちなみに私は、昔使っていたガラケーは非常にフルカッッタので、ドコモショップで SH-07F を購入しました。月々サポートで-540円されて、端末代金は毎月1,034円です。
自分でガラケーを持って行けば、これもかかりません。

もしも、ガラケーに変えてもメールはスマホでやりたいという方は、SPモード(i-mode契約可)という契約にしてドコモメールを利用することで可能です。
詳しい方法については「ガラケーとスマホの2台持ちにしても、スマホでキャリアメールを受信する方法」という記事をお読みください。

ガラケーの契約は、パケホーダイもつけなくても契約できる中で一番安いタイプSSバリューにしました。
1年割引とファミリー割引が適用されて、基本料金は924円です。

携帯料金


契約を変更してガラケーにした結果、携帯料金がいくらになったかというと、

基本料金        :1,864円
1年割引(25%)   :  -470円
ファミリー割引(25%):  -470円
spモード       :   300円
端末代(分割)     :1,039円
小計          :2,263円
消費税         :   181円
合計          :2,444円


モバイルWi-Fiルーターを契約する


ガラケーユーザーになったことでスマホがネットワークに繋げなくなりましたが、これをネットワークに繋ぐ方法は主に以下の2つです。

  1. 格安SIMを利用する
  2. Wi-Fiを利用する


今回は「2. Wi-Fiを利用する」ことにしますが、家の中だけでなく外でもスマホを使用するためには、モバイルWi-Fiルーターを利用します。

モバイルWi-Fiルーターを契約するにはいろいろなプロバイダがあります。
各プロバイダがいろいろなキャンペーンをやっていて、大きく以下の3つに分けられると思います。


  1. キャッシュバックがもらえる
  2. タブレット端末等が貰える
  3. 特典はないけど月額料金が安くなる


ちなみに、私はGMOとくとくBBの「鬼安キャンペーン」で申し込みましたが、現在も伝説のキャンペーンとして継続しているようです。

毎月3,000円程度で利用できているので、携帯料金が合わせて6,000円弱になり、さらに家のネットもモバイルWi-Fiルーターでまかなっているので、携帯料金とネット料金を合わせて節約することができました!

モバイルWi-Fiルーターキャンペーン




<キャッシュバック>






GMOだけでもすごい数ですね!自分の目的に合わせてキャンペーンを選ぶと良いと思います。

他にも、GMOとくとくBB以外にも以下のようなキャンペーンがあります。



2016年2月11日木曜日

[スマホ][ドコモ] ガラケーとスマホの2台持ちにしても、スマホでキャリアメールを受信する方法

今やほとんどの人が手にしているスマホですが、やっぱりスマホの料金って高いですよね。

私もスマホの料金に頭を悩ましていたのですが、「2台持ちすると安い」という噂を聞きつけ色々と調べて1年ほど前に2台持ちにしました。(正確にはWiMaxなので3台持ち)

そこで2台持ちするにあたって以下の点を条件にして、可能かどうかを色々と調べました。ちなみに私はドコモです。
  • スマホだけよりも料金が安くなること
  • メールはスマホでやりたい
  • 無料通話がある

事前準備〜ドコモショップに行く前に〜


これから、ドコモの契約を変更してガラケーとスマホの2台持ちをしてスマホでドコモのメールを受信する方法について説明していくわけですが、ドコモショップに行く前に事前にやっておく準備があります。

wi-fi接続のスマホでキャリアメールを受信するためにはドコモのwebメールである「ドコモメール」を利用できるようにしておく必要があります。
そのために、まずはdアカウントのメール設定からドコモメールを「利用する」に設定する必要があります。

もしも、まだdアカウント持っていない場合は こちら のdアカウントポータルサイトから新規に発行してください。

ここからドコモメールの設定をしていきますが、以下にドコモの「マルチデバイスでのご利用方法」の画面の画像を載せておきます。見づらい場合は、上記リンクにお進みください。


ここまで設定できれば、ドコモショップに行って契約を変更してガラケーをゲットしましょう!

ドコモの契約を変更する


まずは、ドコモの契約を変更するところから始めます。スマートフォンをお使いの方はガラケーが必要になります。

2台持ちにする際の詳細については、こちらのガラケー+WiMax+スマホの3台持ちで携帯とネット料金をダブルで節約!?で詳しく書いていますので、よければそちらも読んでみてください。

ここでは、ドコモの契約変更のところから書いていきます。ドコモでスマホを利用していいる方は、おそらくspモードを契約していると思いますが、これをspモード(iモード契約可)に変更します。
ここで注意が必要なのは、ガラケーでi-modeに接続したい場合は上記の契約変更をした後に、i-modeに加入してください。ちなみに、ISPセット割が適用されるので、spモードだけ契約する場合とi-modeも合わせて契約する場合も、どちらも300円で済みます。

私はガラケーでネットワークに接続するつもりがなかったので、パケホーダイをつけず、変な通信も発生しないようにあえてi-modeは契約しませんでした。ここは、ご自分の用途に合わせて判断してくだいさい。

ガラケーにするためFOMA契約に変更となりますが、私は無料通話が1,000円分ついているタイプSSバリューにしました。

ちなみに、これはドコモショップに行って初めて知ったのですが、機種変更しても変更前の携帯がドコモのものであれば、安心サポートの対象端末は変更前の携帯に残したままにできるそうです。
なので、私は安心サポートの対象端末はスマホのままにしておいてもらいました。


あとはデータの移行等が完了すれば、あなたは晴れてガラケーユーザーです!

スマホのGmailを設定


これでスマホとガラケーの2台持ちに成功したわけですが、今回の本題はここからです。

スマホでdocomoのキャリアメールを受信するのですが、ここではGmaillを使って受信できるように設定をしていきます。
以下に、画像を付けて手順を解説していくので、順番にやってみてください。

手順1. Gmailアプリを起動して設定をタップ

手順2. 「アカウントを追加」をタップ


手順3. メールのセットアップ画面で「個人(IMAPまたはPOP)」を選択して「次へ」をタップ


手順4. 「メールアドレスを入力」の項目にドコモのメールアドレスを入力して「次へ」をタップ


手順5. アカウントの種類を「個人用(IMAP)」を選択して「次へ」をタップ


手順6. 「パスワード」の項目にdアカウントのパスワードを入力して「次へ」をタップ


手順7. 受信サーバーの設定に以下のように入力して「次へ」をタップ
・ユーザー名:dアカウントID
・パスワード:dアカウントのパスワード(手順6.で入力したものが入力済みです)
・サーバー:imap.spmode.ne.jp(iPhone/iPadのときはimap2.spmode.ne.jp
・ポート:993
・セキュリティの種類:SSL/TTS


手順8. 送信サーバーの設定に以下のように入力して「次へ」をタップ
・SMTPサーバー:smtp.spmode.ne.jp
・ポート:465
・セキュリティの種類:SSL/TTS(「ログインが必要」にチェックを入れておきます)
・ユーザ名:dアカウントID
・パスワード:dアカウントパスワード(手順6.で入力したものが入力済みです)


手順9. アカウントのオプションを設定して「次へ」タップ。ここは好みに合わせて設定してください。


同期頻度は「15分毎」「30分毎」「1時間毎」から好きなものを選択します。


これで設定は完了です!ドコモと契約していない端末でもドコモのメールが送受信できます。

まとめ


私はこれで快適にドコモメールが利用できています。私が思うこの方法のメリットは

  • 格安SIMやWi-Fiでのスマホ利用でもスマホでキャリアメールが利用できる
  • ガラケーを電話専用にできる(ネットワークに繋がなくても良い)
  • フリック入力でメールができる


こんな感じでしょうか。
携帯料金を安く抑えるためにガラケーにしても、慣れてしまったスマホでドコモのメールが使えるのは嬉しくないですか?

ぜひお試しください!