今天繼續嘗試,改為使用 LIFEBOOK 的 Cygwin 平台。根據 http://code.google.com/p/iphone-dev/wiki/Building 的指示來安裝,可是又一次失敗。
My studies, development and creations on Robotics, iPhone Apps, Andriod Apps,...etc.
2010年5月29日 星期六
2010年5月28日 星期五
2010年5月27日 星期四
2010年5月24日 星期一
2010年5月23日 星期日
最速!付属SH-2A基板で高性能マイコンを学ぼう

又到六月份了,Interface 一年一度的底板附送特刊又到了。今次付送的是 SH7262 底板。
詳情:http://www.kumikomi.net/interface/editors/2010/04/sh-2ainterface6.php
2010年5月22日 星期六
BlueTooth 測試(四)
今次把 BlueTooth 模塊直接連接 ATmega-128,然後用 LIFEBOOK + BlueTooth 手指控制 ATmega-128 主板。經測試後,發現用 115200 Baud rate 是無法連接成功,而 9600 Baud rate 就沒有問題。BlueTooth RX 要接 ATmega-128 TX,而 BlueTooth TX 要接 ATmega-128 RX。
BlueTooth 測試(三)
終於能成功地把 BlueTooth 模塊跟 LIFEBOOK 的 Windows XP 連接。透過 Hyper Terminal 分別把 LIFEBOOK 的 COM5 及 BlueTooth 模塊的 RS232(COM8) 顯示。在 LIFEBOOK 發出指令,在 BlueTooth 模塊接收。實驗順利地進行。今次使用了 9600-8-N-1 設定,試過 38400-8-N-1 不成功。
稍後會把 BlueTooth 模塊連接 ATMega-128,用 LIFEBOOK 透過 BlueTooth 直接控制。這樣,硬件方面除了電源外,Servo 控制及遙控部份都已經沒有問題,只要建立好機體支架,便能運作。
本來我想透過 iPhone 的 BlueTooth 來控制機體,但我在這個領域的知識很少,需要再研究一下。
BlueTooth 測試(二)
2010年5月21日 星期五
2010年5月20日 星期四
2010年5月19日 星期三
Offscreen OpenGL Buffer
今天做了一個試驗,把 OpenGL 化的 UIView 生成後,做一次 layoutSubview 但不把它加進 window。出來的結果是能順利從圖片檔案讀取成為 Texture2D 物件。圖片沒有變為全白色。證明了只需要做一次綁定,便能借用 OpenGL 空間。不過,這招只適用於 UIView 下取得 OpenGL 圖案。
2010年5月18日 星期二
2010年5月17日 星期一
2010年5月16日 星期日
UIScrollView Subclass 研究
今天研究了一下 UIScrollView Subclass 的處理方法。發現原來 drawRect 只在生成時才被呼叫;在拖動 UIScrollView 時,反而 drawRect 是沒有任何反應。這樣的結果是 UIScrollView 的畫面不會更新,但捲動棒則會有動畫顯示。要連帶內容一起拖動時,則需要加入 UIScrollViewDelegate 的 scrollViewDidScroll 事件,並在裡面呼叫 drawRect。
不過,另一個問題來了。不論是拖動到哪個位置,自行繪畫的部份都會固定在位置上。如果這不是想要的結果,那就需要在繪畫時加入 self.contentOffset.x 及 self.contentOffset.y。
不過,另一個問題來了。不論是拖動到哪個位置,自行繪畫的部份都會固定在位置上。如果這不是想要的結果,那就需要在繪畫時加入 self.contentOffset.x 及 self.contentOffset.y。
2010年5月15日 星期六
Facebook Connect 空白錯誤

最後,原因是我在 UIView A 貼上 FBLoginButton,而登入後跳轉到 UIView B,UIView A 亦在這時 removeFromSuperview。FBLoginButton 也一起被清理了。所以到後來要求 Permission 時便發生錯誤。現在,我特別地為 FBLoginButton 做了一次 Retain,使得 UIView A 被清理時,FBLoginButton 仍能得以生存...。
2010年5月13日 星期四
關於 TARGET_IPHONE_SIMULATOR 及 TARGET_OS_IPHONE
在開發 iPhone 軟件的過程中,有時會用到一些功能是無法在模擬器內運作。之前在網上學到使用「TARGET_IPHONE_SIMULATOR」及「TARGET_OS_IPHONE」來分辨是「模擬器」還是「真機」。原來這個方法是錯誤的。真正的方法是:
#if (TARGET_IPHONE_SIMULATOR)
// Simulator
#endif
#if !(TARGET_IPHONE_SIMULATOR)
// Real device
#endif
2010年5月12日 星期三
Combine 2 UIImages
+ (UIImage*)combineImage:(UIImage *)hostImage image:(UIImage *)guessImage point:(CGPoint)point {
UIImage *outputImage;
CGSize size;
size = image.size;
UIGraphicsBeginImageContext(size);
[hostImage drawAtPoint:CGPointMake(0, 0)];
[guessImage drawAtPoint:point];
outputImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return outputImage;
}
2010年5月11日 星期二
UIImage Masking
+ (UIImage *)maskImage:(UIImage *)image withMask:(UIImage *)maskImage {
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
return [UIImage imageWithCGImage:masked];
}
2010年5月8日 星期六
iPhone Proximity Sensor
今日在看 iPhone SDK Document 的時候,發現了一個有趣的功能「Proximity Sensor」。它能偵測使用者是否接近 iPhone。基本上,這個就是平時通話時已在使用的功能。當把 iPhone 放到耳朵旁時,畫面是會關掉;相反則是打開的。
可能我體內是流著 Game Designer 的血,第一時間便思考如何在遊戲中使用。而最簡單的就是用在秘技方面。例如:在跟 NPC 對話時,如果使用者是否接近 iPhone 時,就會得到寶物,甚至乎是多了特別任務。這都是很容易實現的。
要使用「Proximity Sensor」,首先要啟動裝置:
可能我體內是流著 Game Designer 的血,第一時間便思考如何在遊戲中使用。而最簡單的就是用在秘技方面。例如:在跟 NPC 對話時,如果使用者是否接近 iPhone 時,就會得到寶物,甚至乎是多了特別任務。這都是很容易實現的。
要使用「Proximity Sensor」,首先要啟動裝置:
UIDevice *device = [UIDevice currentDevice];
device.proximityMonitoringEnabled = YES;
if (device.proximityMonitoringEnabled == YES) {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityChanged:) name:@"UIDeviceProximityStateDidChangeNotification" object:device];
}
- (void) proximityChanged:(NSNotification *)notification {
UIDevice *device = [notification object];
NSLog(@"Proximity state: %d", device.proximityState);
}
2010年5月4日 星期二
為 Icon 加上數字
有些時候,我們想令客戶留意到軟件的動態時,便會在 HOME 畫面的圖示旁加入數字或句子,以下是加入數字的方法:
[UIApplication sharedApplication].applicationIconBadgeNumber = 1;
2010年5月2日 星期日
格式化日子字串
在編程的過程中,有時會利用時間值來作為 Key 或作為記錄之用。以下是將當刻時間轉換為 NSString 的代碼:
NSString *string;
NSDateFormatter *dateFormat;
// Example: 2010_4_16_11_49_53_296
dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy_M_d_h_m_s_FFF"];
string = [dateFormat stringFromDate:[NSDate date]];
[dateFormat release];
訂閱:
文章 (Atom)