*

[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

関連記事

logo

[C#, Linq]foreach構文は書けるけど、Linqはよくわからなくて勉強する気がなくなった貴方に

Linq普及委員会エントリです。 いまさらすぎるわ! とか言わないで。 小難しい話はなしに、

記事を読む

visualstudio_

[visual studio]ODBC等のConnection Stringの簡単な作り方

Connection Stringって大体いつも検索して、それを使ってみて、だめだったりOKだったり

記事を読む

Wannabenote

[Unity]Unity2Dチュートリアル 繰り返しパズルを消す

Unity関連記事まとめページはこちら 前回の続き。 さて、前回、やっとパズルのような体

記事を読む

Unity_

[Unity]Unity2Dチュートリアル 直線で3つ同色のパズルを消去する

前回の続き。 パズドラじゃなくて、パズドラ+ぷよぷよの謎パズルを作ってしまったので、 今回は

記事を読む

NuGet visual studio

[C#]C#でPDFファイルを画像(System.Drawing.Image)にする

PDFを画像に PDFファイルを読み込んで、画像にする必要があったんです。 インターネットで調べ

記事を読む

logo

[C#]文字列のプロパティを初期化したい。空文字で初期化したい。

Twitterで適当に叫んでたときのネタをメモ。 C#でプロパティの初期化が面倒です。 たと

記事を読む

Unity_

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

前回で、タイルを置いて、全部消えちまうじゃねぇか! 色一個一個つけるのめんどくせぇ!! というところ

記事を読む

Unity1_5

[Unity]Unity2Dで3マッチパズルを作ろう~インストール編~

Unityの2D機能で3マッチパズルでも作ろうかと思ったのですが、ほとんど資料がない。Unity

記事を読む

Unity_

[Unity]Unity2Dチュートリアル 同じ色で繋がったパズルを消去する

前回の続き。 前回で横に同じ色がある場合は消去できるようになりました。 テトリスとぷよぷよを足し

記事を読む

cropped-wannabenote_logo.png

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

Unity関連まとめページはこちら→Unity Unity4.6 UIチュートリアル Less

記事を読む

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 ↑