2つのNSImageViewを制御するために、NSViewのカスタムサブクラスを作成しました。イメージを作成するためのコードは次のとおりです。
- (id)initWithFrame:(NSRect)frameRect AndMap:(NSImage *)map AndPlayer:(NSImage *)guyImage
{
self = [super initWithFrame:frameRect];
if (self)
{
NSRect newRect = NSMakeRect(0.0, 0.0, 64.0, 64.0);
NSImageView *theMap = [[NSImageView alloc] initWithFrame:NSMakeRect(0.0, 0.0, frameRect.size.width, frameRect.size.height)];
[theMap setImage:map];
NSImageView *theGuy = [[NSImageView alloc] initWithFrame:newRect];
[theGuy setImage:guyImage];
[self setMapImage:theMap];
[self setPlayerView:theGuy];
[self addSubview:[self mapImage]];
[self addSubview:[self playerView]];
ただし、原点が(128,0)の長方形で描画するようにビューに指示すると、奇妙なオフセットでマップが描画されるため、Guyの原点は128,0になりますが、マップの原点は( 128,0 )のようになります。 128,20)。これが発生する理由がわかりません。