Ming Apps

Archive for 三月 2011

軟件網頁: Seashore – Mac Photo Editor

Seashore Project Screenshot

本人是Free Source愛好者,

向來愛好外國Open source的文化,

香港實在難以做到open source呢一D團體網絡一齊build up program呢~

因為本身個PhotoEditor好似死死地,

今日成日四圍搵一D for Mac既Editor,

好讓我Post ScreenShots俾大家。

搵左一個叫Seashore既Software,

用落有D似Simplified version of Photoshop,

好多地方簡潔易上手,

重有Layer既功能!

所以今次推介俾大家,希望大家鐘意~

廣告

MingApps又出教學post啦!

今晚本想打FYP report,

但總想打一篇教學Blog教一教大家使用cocos2d for iphone!

因為全靠佢我寫iPad Apps先會寫得咁快哈~

我想第一件事要學習的是Layer的轉換吧~

以下教學亦包含了CCLabelTTF的顏色設定,

增加Double Tap/Double Touch Event,

以及增加新場景和CCLayer背景顏色(Background Color)的方法。

首先介紹一下CCLayer / CCLayerColor:

CCLayer 我會將他當成一張預設只有黑色背景的一張紙,

沒有任何背景圖片和背景顏色的設定,

你可以在紙上任意塗鴉。

CCLayerColor 可以說是繼承了CCLayer的原本設定,

但加上可以自定義背景顏色的funciton讓你改變「紙」的顏色.

好! 開始第一部!

(注意以下方式會以Xcode 4作示範,和Xcode 3可能略有不同!)

Step 1: 開啟新Project及新增Layer

  1. 首先建立一個新的cocos2d iphone project!
    選擇cocos2d project便成。
    Xcode new project cocos2d-iphone project
  2. 跟著指示改變Project名稱(In my example, named as:MingApps)
  3. Add New File to the project
    cocos2d project right click to add new file
  4. Select iOS Cocoa Touch Objective-C Classes, named as MingAppsLayer
    subClass as CCLayer
  5. 在MingAppsLayer.h中加入
    import "cocos2d.h"
    

  6. 複製 HelloWorldLayer.h 的內容到 MingAppsLayer.h
    HelloWorldLayer.m 的內容到 MingAppsLayer.m但注意在MingAppsLayer.h 中不要改掉MingAppsLayer的Object Name,
    以及在MingAppsLayer.m 中加入

    #import "MingAppsLayer.h"
    @implementation MingAppsLayer
    

    以及在scene function中的HelloWorldLayer改為MingAppsLayer(如圖)。
    cocos2d iphone - mingapps layer source code

Step 2: 改變CCLayer(HelloWorldLayer)的顏色 及CCLabelTTF 文字顏色

  1. 在HelloWorldLayer.h中,繼承的CCLayer改為CCLayerColor
    @interface HelloWorldLayer : CCLayerColor
    

  2. 在HelloWorldLayer.m的function: init中,
    將以下source code:

     self = [super init] 

    改成為:

     self=[super initWithColor:ccc4(255, 255, 255, 255)] 

    function ccc4(r,g,b,o) :
    ccc4為Cocos2d中一個重要function, 以RGB color model為基礎,
    共有四個parameter:
    r: red, g: green, b: blue, o: opacity(透明度)
    4個數值均以 0 – 255之間的數值。

    因此上文以設定為不透明(o: 255)的白色背景(r: 255, g: 255, b:255)

  3. 在以下的source code:
    [self addChild: label];

    之前,加上:

    [label setColor:ccc3(0, 0, 0)];

    label的color setting需要 ccc3的function,
    它亦是RGB model, 因此上文r:0 g:0 b:0設定了Label的文字為黑色。

Step 3: HelloWorldLayer增加Touch Event / Tap Event

  1. 在HelloWorldLayer加入header – MingAppsLayer:
    #import "MingAppsLayer.h"

  2. 在HelloWorldLayer的function – init中,加入:
    self.isTouchEnabled = YES;

    這是必須加入,是Cocos2d for iphone framework的原有設定, 容許Layer擁有Touch Event的設定 / 功能。

  3. 在HelloWorldLayer的function dealloc前,加入以下function:
    - (void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
        UITouch*	touch = [touches anyObject];
         if ([touch tapCount]==2) {
              [[CCDirector sharedDirector] replaceScene:[CCTransitionPageTurn transitionWithDuration:0.4 scene:[MingAppsLayer node]]];
         return;
         }
    }
    

    以上設定為:
    ccTouchesBegan: cocos2d default functions, 是CCLayer處理Touch event的function,
    UITouch and [touch tapCount]: 用以拿取touch的次數, doubleTap / doubleTouch的話,[touch tapCount]會return 2

    [CCDirector sharedDirector] replaceScene:[CCTransitionPageTurn transitionWithDuration:0.4 scene:[MingAppsLayer node]]];
    呼叫CCDirector改變現時場景為另一CCLayer: MingAppsLayer!


    CCTransitionPageTurn 是右下角揭頁效果
    可以改成其他的轉頁效果,
    例如 CCTransitionFlipAngular, CCTransitionFade, CCTransitionJumpZoom,
    大家可以自由選擇。

完成!

cocos2d iphone layer transition test
cocos2d iphone layer transition test

示範程式下載: cocos2d-iphone-layer-mingapps.zip

Thanks to DropBox, 有免費2GB空間俾我share source code!

大家可以按下左上角的RUN BUTTON Build project以及在simulator 查看結果!

PHP 將不用再開Apache便可以直接利用Browser開啟!

其實開一個Apache利用xampp都算係簡單~

 

PHP本身已具相當的普及性,

但如果以上技術真的成事的話,

PHP會繼續用咩速度佔據世界的網頁呢?

 

Quote:

PHP is going to come with a built-in Web server, so you will no longer need Apache or any other Web server software to run PHP applications. This is the main topic discussed by Manuel Lemos and Ernani Joppert in the episode 10 of the Lately in PHP podcast.

消息來源: PHP-builtin-Web-server

標籤: ,

前兩篇都以iOS為主題,

其實我對網頁技巧都有相當多的興趣~

 

大家可以click入去右手邊既links,

看看iAccessories,

入面我有嘗試利用一些CSS3的技術,

去設定一個比較具現代Cyber感覺的介面。

 

大家可能會擔心HTML5 / CSS3的技術可能並不具Cross Browser Compatibility,

我倒認為現時Broswer經已經非常接納HTML5技術,

Support HTML5的IE9 亦已經推出了,

CSS3更不用多說,

只是不同的瀏覽器對CSS3 兼容上需要以不同的Syntax,

凡是想利用CSS3 整round corner都可能需要search很多才知道每個Browser的Syntax.

 

現在大家可以利用CSS3PLEASE的網站查閱所有Browser的設定,

各大主要瀏覽器: Google Chrome, Mozilla Firefox, Safari, Opera,

就連Android mobile都已經經過測試,

只需要打入相應的數值便成。

 

例子:

CSS part


.box_round {
-moz-border-radius: 12px; /* FF1+ */
-webkit-border-radius: 12px; /* Saf3-4, iOS 1+, Android 1.5+ */
border-radius: 12px; /* Opera 10.5, IE9, Saf5, Chrome, FF4 */
}

HTML Part

<div class="box_round">Testing for round corner box</div>
標籤: ,

Cocos2d for iPhone Logo cocos2d-iphone 第一步: installation!

起步第一件事就係要有Mac 10.6 and install Xcode!

相信大家都知道 Xcode 就是寫iPhone Apps / iPad Apss最基本的程式了。

如果你並未擁有iOS Developer Program Member / Mac Developer Program Member的話,

只可下載 Xcode 3.2.6 and iOS SDK 4.3, 但必需登記成為iOS developer 才可下載。


注意: Xcode 4和Xcode 3 安裝方法有所不同!

由於我已成為了iOS Developer Program Member($99USD!),

現示範如何「安裝」cocos2D for iphone for Xcode 4.

大家首先要下載cocos2d-1.0.0-beta-templates,

然後到: ~/Library/Developer/Xcode/Templates Folder,

(注意: 你可能需要在以上Directories入面開New Folder, 請依足名稱大小寫。)

extract以上.tar.gz 的Achieve files,

搞點!

Xcode new project cocos2d-iphone project

Xcode 4 create new project下已經可以見到以下的選擇了!

你現在已經可以開始寫你的Cocos2d Apps了!

哈哈這個installation看來並不似installation吧哈哈~

Xcode 3又如何呢?

你需要下載另一個cocos2d-iphone的version: cocos2d-iphone-0.99.5

下載完,按步驟立即使用便成!

Cocos2d for iPhone Logo

原本網頁: http://www.cocos2d-iphone.org/

一個月前,FYP的topic由html5 web apps轉做iPad apps,

真的徬徨無助哈~

 

找了很多很多objective-c framework,

朋友介紹了這一個framework.

Fast, Free, Easy to Use, Community supported.

Google一下你的問題再加"cocos2d“做keywords,

好多問題都解決了~

有唔少Class會經常用到:

CCLayer / CCLayerColor(舊有的ClassName為CCColorLayer): Layer that receive touches and 設定初始背景顏色!

CCLayerColor *layer = [[CCLayerColor alloc] init];
[layer setColor: ccc4(255, 255, 255, 255)];

CCMenu / CCMenuItem: Default了一堆方便你堆砌Menu既Class!

[CCMenuItemFont setFontName:@"Helvetica"];

CCMenuItem *menuItem1 = [CCMenuItemFont itemFromString:@"HelloWorld" target:self selector:@selector(scene1:)];
CCMenuItem *menuItem2 = [CCMenuItemFont itemFromString:@"Test"];
CCMenu *menu = [CCMenu menuWithItems:menuItem1, menuItem2,nil];

[menu alignItemsVertically];
[menu setPosition:ccp(240, 160)];
[self addChild:menu];

CCLabelTTF(舊有的ClassName為CCLabel/Label):  故名思義, 就是LabelText, 純粹Display String/ Display Text

CCLabelTTF *test = [CCLabelTTF labelWithString:@"Testing" fontName:@"Marker Felt" fontSize:16];
 [self addChild:test];

CCSprite: Google了Sprite的解釋,是指小精靈/小妖精。如果你寫Game, 我會當佢做一個人物角色,可以任意係畫面複製角色於Layer / RenderTexture 上。

CCDirector: 導演一名,可設定Frame per second既時間,加速減速自己決定。

[[CCDirector sharedDirector] setAnimationInterval:1/240.0];

 

暫時已經support Xcode 3 & Xcode 4,

雖然仍在develop階段,

但好期待佢去version 1.0既正式版!

之後的Blog應該會有更多cocos2d的介紹!

作為一個大學生,

係呢個時候都應該忙緊搵工,

為將來的出路打算~

但,

我決定左,

我想學好網頁技巧!

我想學好HTML5!

我想學好objective-c寫 iPhone apps / iPad apps!

雖然呢個時候,

FYP (Final Year Project) 雖然忙,

但係都決定開一個Blog,

紀錄自己所學所見所聞。

點解我個網頁會叫Ming Apps呢?

其實好簡單,

本人叫阿銘,

取其名,再加上有興趣寫Web Apps / iOS Apps,

兩者合併,

就成為左Ming Apps了。

Simple makes perfect~

畢竟我年資很淺,

希望有所得著,

亦都讓一班web developer 或者 app develop互相交流,

加快學習新技巧新技術!

一開始都無預期有人會睇第一篇Blog~!

但如果你睇到呢一篇Blog,

還請多多支持!


%d 位部落客按了讚: