2017年3月6日 星期一

Unity2D 範例一(1)

2D
Space Invader:類似80年代的小蜜蜂的射擊遊戲。
      安裝的部份請參考安裝篇

      首先開啟Unity,點選NEW開啟一個新專案
      1、輸入專案名稱
      2、輸入存放位置
      3、選擇素材是2D或3D,這裏我們選擇2D
      按下開啟專案Create project



開啟之後的畫面如下:

Hierarchy(物件):放的是每一層的物件
Scene(場景):面畫裏安排的場景
Assets(素材):匯入的素材
Inspector(屬性):每個物件的屬性設定


上面都熟悉了之後,再來我們就先來按排背景,小蜜蜂的背景是全黑的,所以我們就用任意繪圖軟體,拉出一個600*800像素的圖片,存成png的格式,放到Assets素材框裏

然後再把素材框裏的背景圖片放到Sense場景裏,就成了遊戲的背景了,同時我們也可以看到Hierarchy物件框裏多了bcakground背景的物件



點選背景物件background
inspector屬性那邊就會出現所點選物件backgroud的屬性
Position是調整物件在場景裏的相對位置,正中間為XYZ皆為0
在此我們將它皆設為0,背景就會在正中間了
同時所有的物件放在場景的哪裏?會有一個圖層的觀念
在這裏有兩個動作要做,一個是圖層順序(Sorting Layer),一個是建立圖層(Layer)
(註:Sorting Layer 與 Layer 的差異)
我們先開啟一個Sorting Layer



在Sorting Layer新開一個圖層(Add Sroting Layer...)
1、按[+]圖示
2、設定圖層(Layer)名稱:Background
3、Sorting Layer可以移動圖層的位置,我們可以移動Bcckground的位置到上面



新增了之後就可以選取了


接著建立圖層(Layer),並新增一個Background圖層,名字可自取



選擇背景的Layer





再來點選右上Layers的下拉式選單,把背景的鎖定住,就不會移動到背景了


背景完成了,我們接下來繼續來造飛機~
我們先用繪圖軟體來製作一個50*50像素的飛機~
如果各位會製作透明背景的飛機更優~
不然也沒關係,因為這個範例背景是黑色的~
只要做一個背景是黑色的飛機,其實也看不出來~

做好的飛機,一樣的方式拖曳到Assets(素材)區,如下圖:


再把飛機素材Space Ship拖曳到Scene(場景)裏~
然後跟背景Background一樣,設定Sorting LayerLayer,新增Space Ship圖層~




Sorting Layer可以移動,把Space Ship圖層曳到Background圖層後面~
如果把Space Ship圖層與Background圖層對調的話,背景就會把飛機蓋住,就會看不到飛機了(你可試看看)


再來我們把飛機放在畫面中間偏下的部份~
在屬性Posistion裏設定 【X0】【Y-3】【Z0】 (Unity裏100像素為1個單位,可自行換算)



接下來我們設定(Collider)的屬性,這樣它才能被其它東西碰撞~

Add Component的下拉選單~
(1)選Physics 2D
(2)選Box Collider 2D





選完之後,我們可以看到飛機的外框,大小可以自由調整,為了讓它被擊中碰撞的判定不要那麼嚴格,我們把飛機的碰撞外框設小一點,我們從0.5調到0.45,大家可以看到,場景裏飛機的方框變小了點~



接下來我們加入飛機的剛體(Rigidbody)性質,讓他可以移動

Add Component的下拉選單~
(1)選Physics 2D
(2)選Rigidbody 2D
(3)設定重力,我們用不到重力,所以Gravity Scale0
(4)凍結飛機旋轉
     Constraintsv下拉式表單打開
     Freeze Rotation Z 打勾






接著我們要寫程式來控制飛機

Add Component的下拉選單~
(1)選New Script
(2)輸入檔案名稱:ShipControl
(3)語言選C#
(4)按下面的Create and Add



Assets(素材)那邊會出現C#的檔案
雙點可開啟程式編輯器
新版的Unity是用微軟的Visual Studio,所以畫面會有點不一樣
程式的內容是一樣的



想先儘快一窺全貌的大大,就先參考下面的參考資料吧~~~


參考資料:讀樂島

Unity牛刀小試

基本的介面介紹還沒有空來寫,而且我也算是初學者,每個人有每個人的習慣,我的習慣喜歡做中學,所以就先開個牛刀小試的版面,來放些小品,目前的範例是網路找的,再來照著做,也就是重製,我會儘量標示參考資料,過程式如有問題,煩請大家提點一下,謝謝。

1、Unity2D 範例一

Unity問題集

1、layer 與 sorting layer 的差異

Sorting Layer 與 Layer 的差異

兩個差異如下:

在 unity2d 中如果要做到跟 flash 的圖層一樣有上下的關係,就要把相關的物件放在不同的 sorting layer ,例如前景層可以放在 foreground 的圖層,背景層可以放在 background 的圖層,利用在 sorting layer 拖曳圖層改變上下的關係。


而 layer 最主要的功能是為了碰撞。假設做一個打地鼠的遊戲,槌子跟地鼠放在 hammer 層,草地放在 bg 層,槌子跟地鼠都不要跟草地碰撞,則可以這樣設定。

Edit->Project Settings->Physics


參考來源:JOE的多媒體屋

2017年2月25日 星期六

PHP如何透過ODBC來存取資料庫

當我最近換了電腦就像換了腦袋,什麼都不對勁,什麼都有問題,連之前我有些程式用ODBC連Access資料庫的都出了問題,ODBC雖然好像過時了,但我還是覺得滿好用的。

如果您的系統是32位元的,大概可以省略不看,直接跳到下面PHP如何透過ODBC來存取資料庫

我的環境如下:Winddows 10 64位元作業系統


問題大概就是出在64位元作業系統,我的ODBC資料來源管理找不到連接 accdb


經過一翻努力後(點我),終於看到了~~~


【PHP如何透過ODBC來存取資料庫】

參考:Chiang Deng-Wei (ernest)【PHP如何透過ODBC來存取資料庫

一、建立ODBC連結:

        ODBC 設定是有分 32/64 bit,如果是你的系統是32bit比較沒有問題,但如果系統是64bit,就要開啟  %windir%\syswow64\odbcad32.exe (實際位置C:\Windows\System32\odbcad32.exe)來設定

64 位元 ODBC 位置:C:\Windows\System32\odbcad32.exe
32 位元 ODBC 位置:C:\Windows\SysWOW64\odbcad32.exe

好了,先寫到這裏,明天要出去玩,有空再來寫完,有興趣的朋友可以參考我上面的參考網址把它完成。




PHP常見問題

1、64位元的windows server下,PHP 的 ODBC 錯誤
2、當您嘗試設定 Microsoft Access 2010 資料庫使用者資料來源: 時,出現錯誤訊息 「 找不到Microsoft 存取驅動程式 (*.mdb、*.accdb) ODBC 驅動程式的安裝程式常式。請重新安裝驅動程式

找不到 Microsoft 存取驅動程式 (*.mdb、 *.accdb) ODBC 驅動程式的安裝程式常式

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

徵狀
當您嘗試設定 Microsoft Access 2010 資料庫使用者資料來源時,您可能會收到下列錯誤訊息:

Microsoft ODBC 管理員: 找不到 Microsoft 存取驅動程式 (*.mdb、 *.accdb) ODBC 驅動程式的安裝程式常式。請重新安裝驅動程式。

解決方案
如果您正要建立 Microsoft Access 2010 資料庫使用者資料來源在 32 位元用戶端應用程式在 Windows 64 位元作業系統上,使用 32 位元 ODBC 系統管理員。您可以啟動 32 位元 ODBC 管理員,請從下列位置:

C:\Windows\SysWOW64\odbcad32.exe

如果您已經安裝 Microsoft Office 2010,您應該在 32 位元 ODBC 資料來源] 清單中找到 Microsoft Access 資料庫引擎驅動程式。

如果您的用戶端是一個 64 x 用戶端,您可以使用 64 位元 ODBC 系統管理員。您從 [系統管理工具] 在 [控制台] 的 64 位元電腦上啟動資料來源 (ODBC)。


64 位元用戶端應用程式,您可以從下載並安裝 Microsoft Access 資料庫引擎 2010年可轉散發的 64 位元版本下列網頁:

http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d

可直接於以下網址下載
https://www.microsoft.com/zh-TW/download/details.aspx?id=13255

請注意 Microsoft Access 資料庫引擎 2010年的 64 位元版本不支援有 Microsoft Office 2010 是 32 位元版本的電腦上。

2017年2月20日 星期一

Unity留言區

有關Unity相關問題,Unity我也是新手,也麻煩大大們可以互相幫忙,謝謝,請留言於此~~~~

程式設計留言區

有關程式設計相關問題,麻煩大大們留言於此~~~~

喃喃自語留言區

有關喃喃自語,麻煩大大們留言~~~~

24小時不夠用~~

一直以來,對自己的年齡幾歲都沒在算,也沒想過,幾年前,有人問我幾歲了?我說三十幾快四十了,後來她問我年次,想不到說了之後,她說已經四十了呢~~~
又過了這幾年,快年過半百了,最近突然覺得,我有好多好多想看想學的東西,24小時根本不夠用,偏偏每天又好像很累,呵呵,老了嗎?

再來我會慢慢把想學想看的東西放在這,不然我怕等我上了年紀,老人痴呆發作的話,什麼都沒了~~~~哈哈哈~~

對了,這裏的資料,實作的部份,我都是有實際執行截圖的,如果有哪裏不對的,再麻煩各位先進幫忙一下,為了瀏覽起來乾淨點,我會另開留言的文章,錯的地方我再更正囉~

興達港

趁快要沒假期的我,帶兩個小寶貝出遊,一個叫"波妞",是從小把她養大的,另一個叫"蝦米",是網路領養的,哈哈~~~~~