いつも楽しく勉強させて頂いております
私は約1年前にmacを購入し、objective-cで2DRPGを作成中のものです
以前こちらで質問をさせて頂いて
タイトル画面→キャラ作成画面→2次元配列にてマップ表示
までなんとか辿りつく事ができました。(成長が遅い)
そして次の目標の
画面下にキャラ移動用の上下左右のボタン及び画面中央に主人公の表示→カーソル入力による当たり判定付き画面スクロール
を達成すべく勉強中ですが
初めの”画面下のボタン表示”で早速詰まっております。最近導入したxcode4.2のstoryboardにてマップ画面下にボタンを配置したものの、いざiosシミュを走らせるとボタンがマップの下に隠れてしまいます。そこでstoryboardを使わず手持ちのUIKit詳解リファレンスを読みながらソース上でボタンを追加してみましたがエラーが出てうまくいきません。
mainfield.h マップ画面の.h
#import <UIKit/UIKit.h>
@interface mainfield : UIViewController {
}
@end
@interface HogeView : UIView {
}
@end
#import "mainfield.h"
int x,y,kind;
UIImage *sougen,*mori,*umi,*player;
@implementation mainfield
int map[30][30] = {
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}
};
-(void)viewDidLoad {
[super viewDidLoad];
HogeView *view = [[HogeView alloc]initWithFrame:self.view.bounds];
[self.view addSubview:view];
sougen = [UIImage imageNamed:@"草原.png"];
mori = [UIImage imageNamed:@"森1.png"];
umi = [UIImage imageNamed:@"海.png"];
player = [UIImage imageNamed:@"騎士.png"];
[view setNeedsDisplay];
}
@end
@implementation HogeView
-(void)drawRect:(CGRect)rect {
const int maplength_i = sizeof map / sizeof map[0];
const int maplength_j = sizeof map[0] / sizeof map[0][0];
for (int i = 0;i < maplength_i ; i++) {
for (int j = 0;j < maplength_j ; j++) {
kind= map[i][j];
switch (kind) {
case 0:
x = j * sougen.size.width;
y = i * sougen.size.height;
[sougen drawAtPoint:CGPointMake(x,y)];
break;
case 1:
x = j * mori.size.width;
y = i * mori.size.height;
[mori drawAtPoint:CGPointMake(x,y)];
break;
case 2:
x = j * umi.size.width;
y = i * umi.size.height;
[umi drawAtPoint:CGPointMake(x,y)];
default:
break;
}
}
}
}
@end
”UIButton *up = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.center = CGPonitMake(120,320);
[self.view addSubview:up];
どこの部分にソースを追加すれば表示させることができますか?
どうかご教授よろしくお願いいたします。
開発環境
mac book air
xcode4.2