unityの勉強でもぐらたたきを作っております。

進捗は下記。

Webとゲームはよく出てくる用語も違いますね。Spriteぐらいは聞いたことあったけど、Maskとか発想がなかったんですが、教えてもらって上下するモグラを隠すMaskを追加することができました。

あと丸いタイマーをつけました。

Prefabというやつがいまいちわかってないです。クラスとインスタンスの関係に似てるようにおもうんだけど、Unity全体に渡って(Prefab自体も)どれがクラスでどれがインスタンスにあたるのかがイマイチわかっておりません。

次はランダムにもぐらが出てくるというのを作りたいです。

Unityのお仕事するかもなので、もぐらたたきゲームを作ってみようという課題をいただいて夜と土日を使って勉強しています。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MoleGenerator : MonoBehaviour {
    public GameObject molePrefab;
    public float diff = -2.28f;

    GameObject mole1;
    GameObject mole2;
    GameObject mole3;

    Vector3 startPosition1;
    Vector3 startPosition2;
    Vector3 startPosition3;

    void Start () {
        mole1 = Instantiate (molePrefab) as GameObject;
        startPosition1 = new Vector3 (-6.02f, -3.51f, 0);
        mole1.transform.position = startPosition1;

        mole2 = Instantiate (molePrefab) as GameObject;
        startPosition2 = new Vector3 (0.2f, -4.31f, 0);
        mole2.transform.position = startPosition2;

        mole3 = Instantiate (molePrefab) as GameObject;
        startPosition3 = new Vector3 (6.13f, -2.16f, 0);
        mole3.transform.position = startPosition3;
    }

    void Update () {
        Debug.Log (startPosition1.y);
        Debug.Log (mole1.transform.position.y);
        Debug.Log (startPosition1.y - mole1.transform.position.y);

        if (startPosition1.y - mole1.transform.position.y > diff) {
            mole1.transform.Translate (0, 0.08f, 0);
            mole2.transform.Translate (0, 0.08f, 0);
            mole3.transform.Translate (0, 0.08f, 0);
        } else {
            mole1.transform.Translate (0, -0.08f, 0);
            mole2.transform.Translate (0, -0.08f, 0);
            mole3.transform.Translate (0, -0.08f, 0);
        }
    }
}

もぐらが上にスーっっっ。

一定以上上にいったら下がるってやらないと。

同じもぐらが3匹いるからクラスにしたら良さそうですね。

後は、PCの性能に寄らずにスピードを調整したい。

さらに穴から出てくるまで隠しておく的なのはどうやるんだろう。

弊社(フィヨルド社)で顧問税理士さんを探しています。 僕らが望むのは下記の点です。

  1. MFクラウドかfreeeのようなクラウド会計ソフトを使ってくれる。
  2. 領収書を郵送すると経費を入力してくれる。
  3. 給与明細を発行してくれる。(データでよい)
  4. 1年の中で経理としてやらなければいけない手続きをこちらからではなく、税理士さん側からPUSHしてくれる。
  5. 税務をわかり易く説明してくれる。コミュニケーションが取れる。
  6. 定期的に実際にあって相談できるとなお良い。
  7. Slackなどでやり取りできると最高。

決算処理とは別に月数万で済むぐらいならいいなと考えています。

上記の中で4をやってくれるところにまだ出会っておらず、契約するときは「もちろんやります」とおっしゃってくれるのですが、毎回実際にはやってくれません。

もし、良い税理士さんをご存知の方がいらっしゃったらTwitter @komagata まで教えていただけるとありがたいです。シュラスコおごります。

今時の若者風にvimのステータスをオシャレにしようと思ってvimプラグインのairlineを導入してみました。

vim-airline/vim-airline: lean & mean status/tabline for vim that's light as air

しかし、screenの上で動かすと全くカラフルにならずがっかり・・・。

https://gyazo.com/1319ee0e60af81843aaa05304c441953

256色対応するにはtmuxに移行しなきゃということなのか…?(screenの設定をtmuxに移すのが面倒な老害)

もしくは何らかのオプション付きで再コンパイルが必要か…?

と思ったらHigh Sierraのデフォルトのscreenでも~/.screenrcに下記を追加したら行けました。

term "screen-256color"

https://gyazo.com/c5a63beb261ea09ccac354b762a21dc6

やったね。

まだscreenで行けてよかった…。

@machidaさんが

「全てのテキストエリアはgithubみたいに画像のD&D・コピペができて欲しい。あとMarkdownで書きたい。」

と常々言っていて、僕もちょっとしたコメント欄でもMarkdownが使えたら嬉しいけどいちいち実装が面倒なので、

「確かにそうですよねー」

と言って流していました。

しかし流すのにも限界がきたので、TEXTAREを画像のD&DとコピペができるMarkdown Editorにするnpmモジュールを作りました。

komagata/textarea-markdown: Make textarea a markdown editor.

https://gyazo.com/5759ef553225cfa788adf3596b90e256

railsで使うなら下記のような感じです。

<textarea id="editor" data-preview="#preview"></textarea>
<div id="preview"></div>
import TextareaMarkdown from 'textarea-markdown'

document.addEventListener('DOMContentLoaded', () => {
  const token = document.querySelector("meta[name=\"csrf-token\"]").content;
  const textarea = document.querySelector('#editor');

  new TextareaMarkdown(textarea, {
    endPoint: '/api/image.json',
    paramName: 'file',
    responseKey: 'url',
    csrfToken: token,
    placeholder: '%filenameをアップロード中...'
  })
});

少し便利なところが、textareaのdata-previewにセレクターを入れておくとそこがpreview(HTMLが反映される場所)になるところです。

仕事で使いつつ、もうちょっとリッチな補完とか入れていく予定です。

rubyでいえばGemfileに

gem "foo", path: "~/foo"

みたいに書くヤツ。

npm linkを使う

いい感じにシンボリックリンクを貼ってくれるnpm linkを使うと良い。

npmモジュール側のディレクトリで下記。

$ npm link

利用側のディレクトリで下記。

$ npm link foo

モジュールが完成したら、下記で解除。

$ npm unlink foo

webpackerでrailsプロジェクトでもjsの再利用が進んだのでgemに負けじと活用したいです。

= render @posts

を省略しないで書くヤツ、毎回忘れてググるので貼っておきます。

= render partial: "posts/post", collection: @posts, as: :post

これが便利なシチュエーションは、@postsにPost以外のものが入ってるけど、viewとしはposts/postで出したいという時。

例えばPostをSTIしてUnpublishedPostというクラスがある場合にunpublished_posts/unpublished_post.html.slimを見に行かないようにするとか。

インターンの方の日報をチェックしてコメントするのが日課(仕事)なのですが、今まで、

「チェックしてないやつはどれかな?」

と探し回らなくてはいけなくて、さらに、

「チェックが漏れてる人がいたら申し訳ないな」

と思っていたのが、確認済みのものにチェックマークが入るようになってクッソ便利になった。

https://gyazo.com/001f153392848d27e6a0165d2571fbd2

他に人にはどうでもいいかもしれないけど、僕にとっては日課がはかどるライフチェンジングな追加機能でした。

あざーす!

256 INTERNS

Rails Developers Meetup #6で交換型インターンシップについて発表しました。

Rails Developers Meetup #6 東京会場|IT勉強会・セミナーなどのイベント情報検索サービス - TECH PLAY[テックプレイ]

交換型インターンシップ

もしインターンやってみたいなという方がいらっしゃったら下記から応募していただけるととてもうれしいです。

256 INTERNS

また、会社でインターンを受け入れて弊社のシステムで教育したいという方もいらっしゃったら連絡いただければ幸いです。

オフィスでいい感じだったので家でもPC用のデスクにイケアのLINNMONという横幅120cmの天板を使っています。

LINNMON テーブルトップ - ホワイト - IKEA

https://gyazo.com/ae0e3e6c263ac13e87644e13215905e2

ただ、上記のように家の最近買ったディスプレイの足が低く、テーブルの上も手狭で気になっていました。

そんな時にネットで机上棚というものを見つけました。しかし、いかんせん高いし欲しいのともちょっと違ったので、

「自分で作ったら行けるんじゃない?」

と思って作ってみました。

https://gyazo.com/4f93ec736a5386ba0da1068eb5259d29

あまり写真に変化がありませんが、テーブルの上に横幅の同じ棚が追加されたのがわかりますでしょうか?

これによってディスプレイの高さもちょうどよくなり、後ろにケーブルが出る系のものも隠す感じで繋げられるようになって机上のスペースが増えました。

このテーブルシェルフは近所のホームセンターでカットしてもらってネジで止めて、ミルクペイントのスノーホワイトを塗ってニスを塗りました。

足の部分を太くしたのはガッシリ感が出て良かったですが、ネジ穴はパテじゃなくてダボで埋めればよかったなと思います。今後に活かしましょう。

かかった値段は工具やペンキは余ってたのがあったので木とカット代で5000円ぐらいだったと思います。

なかなか満足度が高かったので色々作っていきたいです。