iPad専用アクションゲーム「スライムは投げる」

最近のエントリー

iOS6でCore Graphicsのアフィン変換を使って絵文字を360°回転させてみたのですが、45°、135°、225°、315°が描画されず、しかもその付近の角度でも変に伸びてしまっているのが確認できます。

IMG_0094
(クリックで拡大できます)

ほぼ同じコードで、「あ」を回してみた結果はこちら。なんら問題ありません。
IMG_0095

再現コードです(iPad)。

#import "TestView.h"

#define AreaSize (44)
#define FontSize (30)
#define RenderCount ((int)(360))

@implementation TestView

- (void)drawRect:(CGRect)rect
{
    CGContextRef c = UIGraphicsGetCurrentContext();
    UIFont *angleFont = [UIFont systemFontOfSize:10];
    
#if 1 
    UIFont *font = [UIFont fontWithName:@"AppleColorEmoji" size:FontSize];
    unichar chars[] = {0xd83d, 0xde03, 0};
    NSString *str = [[NSString alloc] initWithCharacters:chars length:2];
#else
    UIFont *font = [UIFont systemFontOfSize:FontSize];
    NSString *str = @"あ";
#endif
    CGSize size = [str sizeWithFont:font];
    
    // ちょっとずつ回転させながら絵文字を描画
    float x = 0, y = 0;
    for (int i = 0; i < RenderCount; i++) {
        // 行列で回転&移動させる
        CGContextSaveGState(c);
        CGAffineTransform t = CGAffineTransformIdentity;
        t = CGAffineTransformTranslate(t, x + (AreaSize - size.width) / 2, y + (AreaSize - size.height) / 2);
        t = CGAffineTransformTranslate(t, +size.width / 2, +size.height / 2);
        float angle = 2 * M_PI * i / RenderCount;
        t = CGAffineTransformRotate(t, -angle);
        t = CGAffineTransformTranslate(t, -size.width / 2, -size.height / 2);
        CGContextConcatCTM(c, t);
        [str drawAtPoint:CGPointZero withFont:font];        
        CGContextRestoreGState(c);
        
        // 枠
        UIRectFrame(CGRectMake(x, y, AreaSize, AreaSize));
        
        // 角度文字
        NSString *angleStr = [NSString stringWithFormat:@"%.1f°", angle * 180 / M_PI];
        [angleStr drawAtPoint:CGPointMake(x + 2, y) withFont:angleFont];
        
        // 次の位置へ
        x += AreaSize;
        if (x + AreaSize > self.bounds.size.width) {
            x = 0;
            y += AreaSize;
        }
    }
}

ちなみにiOS5では問題無く表示されますので、iOS6からの不具合かと思います。
適当にググっても、この辺のトラブルについてはまったくヒットせず困り中です。

何か解決策をお持ちの方はメールやTwitter(@takabosoft)でこっそり教えて頂けると助かります。
※公式のフォーラムやサポートにも聞いてみようと思いますが、何せ英語なのでうまく伝わるかどうか・・・。

追記

keynoteでもテキストオブジェクトを45度などにすると絵文字が消えるのを確認しました(;^ω^)

▼アカペラカバー
Zedd – Clarity Acapella Cover – Mike Tompkins – ft. Foxes

▼原曲
Zedd – Clarity (Official Video) ft. Foxes

Zeddの1stアルバム(Clarity)を数カ月前に購入しましたが、どの曲も素敵です。
オススメ。

というわけでV-METALで作ってみた第6弾です。
テンプレを使いまわしているせいで、毎回楽器の構成が同じでつまんないかもしれません(;´∀`)

もともとパイプオルガンか何かで演奏するクラシック音楽なのですが、デザエモンのサンプルにロックアレンジされたものがあって、これが当時めちゃくちゃカッコよくてこればっかり聴いていました。

いつもTAKABO SOFTのソフトウェア等をご利用いただき、誠にありがとうございます。
誠に勝手ながら本日より一部で使用していたメールアドレス「takabo-soft@ja2.***********」が利用できなくなります。

このWebサイトの最下部にある「お問い合わせ」クリック時に表示されるアドレスは変更ありませんので、お問い合わせの際にはお手数ですがそちらのアドレスへ送信をお願いいたします。

お手数をおかけいたしますが、よろしくお願いいたします。

なんでアクトレイザー2でクリエイションモード無くしちゃったの!!
むしろクリエイションモードだけでいいのに!!!

というわけでV-METALで作ってみた第5弾です。

記事検索

コミュニティ

Banner designed by よし様
ドット絵掲示板
ドット絵掲示板
自作の「ドット絵」を投稿することができます。ドッターさん同士の交流の場としてご利用ください。
TakaboSoft Wiki
TakaboSoft Wiki
ソフトウェアに関する質問・不具合報告・要望などを書き込むことができます。