*

[Unity]Unity2Dチュートリアル スプライトを利用する

公開日: : 最終更新日:2014/11/26 C#, Unity

前回の続き。

早速、スプライトを設置して作っていきましょう。

※スプライトとは スプライトはゲームオブジェクトです。キャラクターとかアイテムなどはスプライトです。 Unity2Dではスプライトは厚さのないゲームオブジェクトです。 スプライト自体には色などが設定できますが、イメージ画像を貼り付けることも出来ます。 もちろん、動きをつけることや物理演算を働かせることも出来ます。 絵が描ければ簡単にキャラクターを作れますね。 (絵が描けなくても他人の作ったキャラクターを利用する仕組みもあるのでご安心を)

それでは、とりあえず、HierarchyのCubeは要らないので、右クリックして削除してください。 Unity2_1

3マッチパズルですので、↓みたいな画像(超手抜き)を用意。(拡張子はpngで) tile

そしてProjectのAssetsフォルダにドラッグ&ドロップしてください。 Unity2_2

投入された画像をクリックすると、Inspectorに表示されます。 Unity2_3 TextureTypeはSpriteにしてください。 Sprite ModeをSingleからMultipleに。 Unity2_4 ※SpriteModeはSingleだと画像一枚を一つのスプライトで扱います。Multipleは一枚に複数キャラクターとか動作が描かれている場合に使います。

Sprite Editorをクリック。 Unity2_

こんな感じの画面になるので、Sliceをクリックして、画像のとおりの設定で、Sliceボタンをクリックしてください。 Unity2_ Unity2_

自動でそれぞれの四角が切り分けられました。 Applyをクリックして適用してください。

ちなみに意味はこんな感じ。

  • Type:手動か自動か。今回みたいなはっきりしたものはAutomaticで。
  • Pivot:どこを中心とするか。例えば回転させるときにTop Leftを選択しておくと、左上を軸に回転します。
  • Type:手動か自動か。今回みたいな境界がはっきりした同じ形のものはAutomaticで。

Assetsの中にある画像の三角マークをクリックすると内容が展開されて、一つ一つに分けられたのがわかると思います。 Unity2_

スプライトが出来たので、切り分けられたスプライトをSceneにドラッグ&ドロップして配置してください。パズドラみたいに5*6個配置してみましょうか。 綺麗に並べる方法は (1)まずドラッグ&ドロップして、そのスプライトをクリックして選択。 (2)InspectorのPositionを以下のように設定。 Unity2_ (3)Ctrl+Cでコピー、Ctrl+Vで貼り付けをして、「Vキー」を押しながらドラッグ。 すると以下のように青点がついて変な動きをします。 Unity2_ この状態だと青点を起点としてくっつけることが出来ます。 ちなみに青点は以下の画像のように、スプライト上でマウスがポイントした位置でどこを起点とするかが決まります。 Unity2_ もう少し大きな画像だと、真ん中にも付いたりします。

もちろん複数でも出来るので右側にどんどんコピペしていき、一行分を配置してから、以下みたいにまとめて選択。 (Scene上で範囲指定も出来ますが、今回だとMain Cameraが邪魔しますので) Unity2_ まとめてコピー貼り付けをしてから、Vキーを押しながらドラッグで、綺麗に並びます。 以下みたいに5段並べて完了。 Unity2_

さて、そうすると全部同じ色じゃないか、全部消えちまうぞ、と思います。 色はどうやって選ぶかというと、「tile_0」を一つ選んでInspectorでSpriteを変更する必要があります。 以下の画像みたいにSpriteの右側の○をクリックして、 Unity2_

出てきた画面で違う色を選択。 Unity2_

非常に面倒。(本当ならPrefabを使うんですけど、また今度)

というわけでこんなときこそプログラムの出番です。気が早いけど簡単なプログラムを書いちゃいましょう。 まずはtileを全部選択して、Add Componentをクリック。 Unity2_

出てきたWindowでNewScript→次の画面でNameをtileに(なんでもいいですけど、同じほうが管理しやすいです)。 言語は私はCSharpにして、Create and Addをクリック。Unity_

Projectの中にTileというC#が出来るのでダブルクリック。Unity_

するとMono Developというのが立ち上がり、プログラムの内容が表示されていると思います。 これがUnityのテキストエディタです。(変えることも出来ますが) Tile.csの中身が表示されていますね。 Unity2_

using UnityEngine;
using System.Collections;

public class tile : MonoBehaviour {

	// Use this for initialization
	void Start () {

	}

	// Update is called once per frame
	void Update () {

	}
}

最初のusingは決まり文句です。プログラム初心者はおまじないで考えていいです。 重要なのは下の部分。

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}

Start()はそのオブジェクトが最初に実体化(出現)したときに実行される場所です。 Update()は画面が更新されるたびに毎回実行される場所です。

今回のような、最初に画像の色を選択させたいならば、Start()に記述をするべきですね。

長くなったのでまた次回。

更新しました→[Unity]Unity2Dでスプライトを利用する その2

 

↓どうしても待ちきれない人へお勧めの書籍↓

読んでみたけど、なかなか手軽な内容です。初心者に丁度よい情報量だと思います。初心者を抜け出した頃だと少し物足りないかも? Scriptについても超基本までは解説してあるのでこれを覚えてアルゴリズムを考えて覚えていきました。

ad

関連記事

Unity_

[Unity]Unity4.6リリース 翻訳的な何か有り

http://unity3d.com/unity/whats-new まだ全然扱えていないのに

記事を読む

unity

[Unity]コードリファレンス GameObject生成

Unityをまじめに扱う必要が出てきたので、自分用のリファレンスを書いていきます。 適当にボタ

記事を読む

logo

[C#, Generic]UnityのAddComponentとかなんとかComponentを実装してみる

UnityのAddComponentってありますよね。 みたいなやつ。 このジェネリクスの

記事を読む

VisualStudio_

[C#,Excel]visual studio tools for office(VSTO)を利用してExcelのAddInをC#で作る

いい加減VBAが嫌になってきたので、調べたらC#でExcelのアドインが作れるんですね。 というわ

記事を読む

unity rotate worldpoint

[Unity]コードリファレンス GameObjectを回転する。

くるくる回します。 rotationプロパティ Objectの向きをワールド座標で指定します

記事を読む

Wannabenote

[Unity]Unity4.6 UIチュートリアル Lesson10.UI Scrollbar 日本語要約

Unity関連まとめページはこちら。 前回のScroll Rectの続き。 UI Scr

記事を読む

wannabenote

[C#, Excel]最終行を取得する

Excelを触っているのでC#でExcelネタが続きます。 Excelの行数が知りたい Exce

記事を読む

wannabenote

[Excel, C#]C#でExcelの値の変更イベントを取得する。

Excelのイベント取得 処理の流れ 対象のワークシートを取得する。 イベントハンドラ

記事を読む

Unity_

[Unity]Unity2Dチュートリアル 画面上のGameObjectを取得する

前回の続きです。 というわけで移動の仕方は完璧です。本当なら一瞬で移動ではなく、パズドラみたく

記事を読む

wannabenote

[Excel,C#]C#でExcelにデータを一括出力する

大体いつも忘れるこのやり方。 Excelにデータを出力する 方法論 単純な方法ではデータを一行

記事を読む

ad

Message

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

ad

  •  Auther;わなび

     「オープン系得意だよね? 俺のPCの調子悪いんだけど」という無茶振りから解き放たれゲームエンジニアに。
    C#とかUnityを扱います。
    Twitterフォロー大歓迎です。
    githubアカウント→wannabenote
  • follow us in feedly
PAGE TOP ↑