OS X Yosemite環境下のXcode Version 6.1 (6A1052d)でcocos2d 1.0.1使用アプリをビルドするとCCRotateByの挙動(正常に回転しない)がおかしい件ですが、対処法が分かりました。
原因特定のためテスト用コードにてCCActionの組み合わせを変えたりしましたが全然ダメで、ビルド設定をいろいろ試行したところ運良く原因を特定する事ができました。(^^)v
<不具合対処>
1.Targetビルド設定
Architectures → BaseSDKの設定値を「OS X 10.10」→「OS X 10.9」に変更。
原因としてはYosemite(OS X 10.10)SDKでビルドするとCCRotateBy動作不正が発生するが、Mavericks(OS X 10.9)SDKでは発生しない。
と言うことでBaseSDKを「OS X 10.9」に設定する事で今回は対処出来ましたが、今後も古いSDKを利用し続ける訳には行かないのでどっかのタイミングで抜本的な対応が必要になるかも知れませんね〜 (^^ゞ
しかし、状況的にはYosemite(OS X 10.10)SDKのバグっぽい挙動とも言えますので、バグであればアップルの修正で万事解決なんですけど、どうなることやら。。。
ではまた〜
ラベル
Apple Watch
(2)
Appleサポート
(1)
cocos2d
(2)
cocos2d v3.1非互換
(19)
iCloud
(1)
iOS5.0非互換
(1)
iOS6非互換
(4)
iOS7
(5)
iOS7.1
(1)
iOS7非互換
(2)
iOS8
(1)
iOS8非互換
(1)
iOS9
(1)
iOSアプリ
(3)
iOS開発入門
(21)
iOS非互換
(1)
iPad
(2)
iPad Pro
(2)
iPhone 5
(2)
iPhone6
(2)
macOS Sierra非互換
(1)
MACアプリ
(3)
Oculus
(1)
Oculus Go
(7)
Oculus Quest
(2)
Oculus Rift S
(1)
OculusRift
(3)
OS X Marvericks
(3)
OS X Marvericks非互換
(1)
OS X Yosemite
(1)
SpriteBuilder
(1)
Swift
(5)
VR
(3)
Webブラウザ
(1)
Windows 10
(1)
Xcode
(12)
Xcode8対応
(1)
Yosemite非互換
(2)
あいさつ
(13)
アップル
(1)
スマホ決済
(1)
トラブル
(2)
リアル黒板
(1)
開発Tips
(6)
戯れ言
(8)
近況
(3)
二角取り
(1)
便利ツール
(1)
(完全解決:2016/10/3)
返信削除cocos2d 1.0.1ライブラリ:CCActionInterval.m
①@implementation CCRotateTo
②@implementation CCRotateBy
<原因・対処>
・”target_”変数の”rotation”参照が重複定義ワーニングが発生しているので、”rotation”参照を一意にするため”target_”変数をクラス型でキャストする。
<修正前>
-(void) startWithTarget:(id)aTarget
{
[super startWithTarget:aTarget];
startAngle_ = [target_ rotation];
}
-(void) update: (ccTime) t
{
// XXX: shall I add % 360
[target_ setRotation: (startAngle_ +angle_ * t )];
}
<修正後>
-(void) startWithTarget:(id)aTarget
{
[super startWithTarget:aTarget];
startAngle_ = [(CCNode*)target_ rotation];
}
-(void) update: (ccTime) t
{
// XXX: shall I add % 360
[(CCNode*)target_ setRotation: (startAngle_ +angle_ * t )];
}