久しぶりのブログ更新です。Retina ディスプレイ対応の iMac を待っていたのですが、当分なさそうなので、
15インチ MacBook Pro Retina ディスプレイモデル 製品番号: Z0PU ハードウェア 2.3GHzクアッドコアIntel Core i7(Turbo Boost使用時最大3.5GHz) 16GB 1,600MHz DDR3L SDRAM 512GBフラッシュストレージ(PCIeベース) バックライトキーボード (JIS) + 製品マニュアル(日本語)
上記、15インチ MacBook Pro Retina を購入しました。ディスプレイが眩しすぎて、目が痛いです。輝度を調整したり、アプリを App Store で購入してみたのですが、慣れるしかないようです。
また、OS も OS X 10.9 Mavericks になったので、私が普段利用している自作アプリを対応させました。 個人的にビルドし直したり、公開していないものもありますが!
- 動作に問題がない自作アプリ
YKCalendar StripToString HatenaDiaryAssistance PocketLauncher YKClock DateMaker IndexView2 ConvertPTC Search2chBBS Wordbook2 YKBookmarks iYKRSSMac YKeyes Sakura
- 2chScriptMenu
ruby のバージョンが
~ $ ruby --version ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
に変更になったので、正しく動作しません。それでソースの一部を修正しました。現在、問題なく動作しています。
- PCG-LinkMac
Apple 純正の FTDI ドライバとメーカーの FTDI ドライバが衝突して USB・RS232C シリアルポート変換ケーブルを抜くとカーネルパニックが起きます。
対処方法は、下に別記載してあります。
- AnimalCrossingDesign
Retina で開くと画像が正しく表示されません。Finder 上で AnimalCrossingDesign.app を右クリック( CTRL + 左クリック ) でメニューを表示し、’情報を見る’ を選択、’低解像度で開く’ に✔️を入れてください。これで再起動すれば、正しく表示されます。
以上の通りです。使っている人もいないと思うので、最新版をそれぞれ公開すべきか悩んでいます。
PCG-LinkMac 自体は、何の問題もなく動作します。ところが USB・RS232C シリアルポート変換ケーブルを抜くとカーネルパニックが起きます
Apple 純正の FTDI ドライバとメーカーの FTDI ドライバが衝突しているのが原因のようです。
それでメーカー製 FTDI ドライバをターミナル上で次のコマンドを使って削除してください。
~ $ cd /System/Library/Extensions/ /System/Library/Extensions $ sudo rm -R FTDIUSBSerialDriver.kext Password: /System/Library/Extensions $ sudo touch . /System/Library/Extensions $
Apple 純正 FTDI ドライバ AppleUSBFTDI.kext は、/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns フォルダにあります。
~ $ cd /System/library/Extensions/IOUSBFamily.kext/Contents/Plugins/ /System/library/Extensions/IOUSBFamily.kext/Contents/PlugIns $ ls AppleUSBCDC.kext AppleUSBMergeNub.kext AppleUSBCDCACMControl.kext AppleUSBOHCI.kext AppleUSBCDCACMData.kext AppleUSBOpticalMouse.kext AppleUSBCDCDMM.kext AppleUSBUHCI.kext AppleUSBCDCECMControl.kext AppleUSBVideoSupport.kext AppleUSBCDCECMData.kext AppleUSBXHCI.kext AppleUSBCDCEEM.kext IOUSBCompositeDriver.kext AppleUSBCDCWCM.kext IOUSBHIDDriver.kext AppleUSBEHCI.kext IOUSBHIDDriverSafeBoot.kext AppleUSBFTDI.kext IOUSBLib.bundle AppleUSBHub.kext IOUSBUserClient.kext /System/library/Extensions/IOUSBFamily.kext/Contents/PlugIns $
後、コマンドラインツールをインストールするには、ターミナル上で
~$ xcode-select --install ~$ sudo xcodebuild -license
を実行するとインストールできます。
Java のインストールは Java 6 のアプリを起動すると Java 6 パッケージをインストールするか尋ねてきます。また Java 7 アプリを起動すると Java 7 パッケージをインストールすることができます。
以前から試してみたかった Sprite Kit に挑戦してみました。衝突処理を物理演算として処理するのには驚きました。
最初に
Sprite Kit Programming Guide: About Sprite Kit https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Introduction/Introduction.html#//apple_ref/doc/uid/TP40013043
の Jumping into Sprite Kit
Sprite Kit Programming Guide: Jumping into Sprite Kit https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/GettingStarted/GettingStarted.html#//apple_ref/doc/uid/TP40013043-CH2-SW1 ▼Jumping into Sprite Kit
を試して基本を理解しました。
サンプル3つ
code:Explained Adventure: Introduction https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/CodeExplainedAdventure/AdventureArchitecture/AdventureArchitecture.html#//apple_ref/doc/uid/TP40013140 SpriteKit Physics Collisions https://developer.apple.com/library/mac/samplecode/SpriteKit_Physics_Collisions/Introduction/Intro.html#//apple_ref/doc/uid/DTS40013390 Sprite Tour https://developer.apple.com/library/mac/samplecode/Sprite_Tour/Introduction/Intro.html#//apple_ref/doc/uid/DTS40013389
も参考になります。特に
code:Explained Adventure: Introduction https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/CodeExplainedAdventure/AdventureArchitecture/AdventureArchitecture.html#//apple_ref/doc/uid/TP40013140
は、本格的なアドベンチャーゲームです。ソースの解説も上記 URL にあります。
Xcode での Particle Emitter 作成方法は
Particle Emitter Editor Guide: About the Particle Emitter Editor https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-particle_emitter/Introduction/Introduction.html
が参考になります。
SKEffectNode、CIFilter の使い方は
Sprite Kit Programming Guide: Working with Other Node Types https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/OtherNodeClasses/OtherNodeClasses.html#//apple_ref/doc/uid/TP40013043-CH10-SW20 ▼Working with Other Node Types ▼Effect Nodes Apply Special Effects to Their Descendants Core Image Filter Reference https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CoreImageFilterReference/Reference/reference.html
が参考になります。CIFilter を NSLog で直接表示すると
- (CIFilter *)spotLightFilter { CIFilter *filter = [CIFilter filterWithName:@"CISpotLight"]; // 3 [filter setDefaults]; NSLog(@"%@", [filter attributes]); [filter setValue:[NSNumber numberWithFloat:10.00] forKey:@"inputBrightness"]; [filter setValue:[CIVector vectorWithX:150 Y:150 Z:300] forKey:@"inputLightPosition"]; // [filter setValue:[CIVector vectorWithX:0 Y:0 Z:0] forKey:@"inputLightPointsAt"]; return filter; }
2013-12-08 21:18:50.725 SpriteKitGuide[14458:303] { CIAttributeDescription = "Applies a directional spotlight effect to an image."; CIAttributeFilterCategories = ( CICategoryStylize, CICategoryVideo, CICategoryStillImage, CICategoryBuiltIn ); CIAttributeFilterDisplayName = "Spot Light"; CIAttributeFilterName = CISpotLight; CIAttributeReferenceDocumentation = "http://developer.apple.com/cgi-bin/apple_ref.cgi?apple_ref=//apple_ref/doc/filter/ci/CISpotLight"; inputBrightness = { CIAttributeClass = NSNumber; CIAttributeDefault = 3; CIAttributeDescription = "The brightness of the spotlight."; CIAttributeDisplayName = Brightness; CIAttributeIdentity = 1; CIAttributeMin = 0; CIAttributeSliderMax = 10; CIAttributeSliderMin = 0; CIAttributeType = CIAttributeTypeDistance; CIUIParameterSet = CIUISetBasic; }; . . . inputImage = { CIAttributeClass = CIImage; CIAttributeDescription = "The image to use as an input image. For filters that also use a background image, this is the foreground image."; CIAttributeDisplayName = Image; CIUIParameterSet = CIUISetBasic; }; inputLightPointsAt = { CIAttributeClass = CIVector; CIAttributeDefault = "[200 200 0]"; CIAttributeDescription = "The x and y position that the spotlight points at."; CIAttributeDisplayName = "Light Points At"; CIAttributeType = CIAttributeTypePosition3; CIUIParameterSet = CIUISetBasic; }; inputLightPosition = { CIAttributeClass = CIVector; CIAttributeDefault = "[400 600 150]"; CIAttributeDescription = "The x and y position of the spotlight."; CIAttributeDisplayName = "Light Position"; CIAttributeType = CIAttributeTypePosition3; CIUIParameterSet = CIUISetBasic; }; outputImage = { CIAttributeClass = CIImage; }; }
と詳しい解説が見れます。
SpriteKit を学んだ集大成として自作アプリ Neko を作成してみました。実行画面は
です。
Neko を下記 URL で公開します。ソースは要望があれば公開します。
Sprite Kit を使ったアプリケーション。 Neko version 1.0 http://kyoshiaki.sakura.ne.jp/osx/Sample/Neko.zip
注意) “Neko は開発元が未確認のため開けません” と表示される場合、Finder 上で Neko を右クリック (CTRL + 左クリック) し、表示されたメニューから ’開く’ を選択してください。ダイアログが表示されるので、’開く’ ボタンをクリックすれば、アプリケーションが実行できるはずです。