我正在学习 C,我想开始图形编程,但要从简单开始,而不是花几个小时来了解我需要什么功能。
我想要一些东西来绘制像素,正方形,也许是精灵,简单的东西,比如在 BASIC 中。
我尝试了 SDL,但很快就不知所措。与 Allegro 一样,很难让它在 Xcode 4 上工作,并且缺乏文档。
也许有一些定制的?如果它适用于 Mac OS 也很好。
欢迎任何书籍推荐,例如简单的 C 图形编程或游戏编程等等。
谈论的是Objective-c中的类和对象.我无法理解[super dealloc]的概念.我们有一些类说myClass,它继承自NSObject.它有一些方法,并从父类继承其他方法.所以我们这里也有dealloc方法.为什么我不能只使用[myInstance dealloc]?我是否认为我们调用父类方法来杀死类的实例?为什么这么复杂?
这不是关于[myInstance发布]的讨论我对这个概念没问题.
因此,我正在阅读K&R书,对此代码有疑问:
int c;
c = getchar();
Run Code Online (Sandbox Code Playgroud)
他们为什么使用整数变量?getchar()返回的值不是字符吗?那么char会更合适吗?请赐教。
我正在读一本关于算法的书,作者用这段代码定义了双链表:
void dlist_init(DList *list, void (*destroy)(void *data));
Run Code Online (Sandbox Code Playgroud)
在这里使用函数指针来销毁函数有什么用?我们不能稍后在任何列表上调用destroy()函数吗?为什么在初始化期间传递指针?
我有一个字符串数组,但不知何故,当我记录它们时,其中一些是括号,有些则不是.
这是我记录数组时得到的结果:
2013-12-21 21:01:00.756 bit[1910:907] Array after adding: (
ash,
"charline_de_luca",
"chiara_ferragni"
)
Run Code Online (Sandbox Code Playgroud)
为什么第一个字符串没有引号?我在添加到数组之前记录它们,当我记录它们时它们没有引号.
我的节点上有几帧动画,第一次播放动画时它会滞后,fps下降.每次下次都很好,花花公子.
如何预加载纹理以使其工作顺畅?
我加载游戏时运行此方法:
- (void)load
{
self.animationFrames = @[[SKTexture textureWithImageNamed:@"exp1"], [SKTexture textureWithImageNamed:@"exp2"],
[SKTexture textureWithImageNamed:@"exp3"], [SKTexture textureWithImageNamed:@"exp4"], [SKTexture textureWithImageNamed:@"exp5"], [SKTexture textureWithImageNamed:@"exp6"], [SKTexture textureWithImageNamed:@"exp7"], [SKTexture textureWithImageNamed:@"exp8"], [SKTexture textureWithImageNamed:@"exp9"]];
}
Run Code Online (Sandbox Code Playgroud)
而这种播放动画的方法:
-(void)playExplosionAnimation
{
self.size = CGSizeMake(250, 250);
SKAction *animation = [SKAction animateWithTextures:self.animationFrames timePerFrame:0.1];
[self runAction:animation completion:^{
self.hidden = YES;
}];
}
Run Code Online (Sandbox Code Playgroud) 我注意到以前没有的问题 - 在iPhone 5及相关设备上,我的游戏在顶部和底部显示黑色区域.
我使用它的标准代码,它表明即使在大型设备上skView.bounds.size也是320x480.
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;
//skView.showsPhysics = YES;
if (!skView.scene) {
NSLog(@"size: %@", NSStringFromCGSize(self.view.frame.size));
SKScene * scene = [MainMenuScene sceneWithSize:skView.bounds.size]; //[MyScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:scene];
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:它正确地确定iPad尺寸.
EDIT2:改变场景大小不会增加其高度.我尝试手动设置为320,568没有用.
EDIT3:它在默认的Xcode项目中显示相同的黑色条纹.这里有点不对劲.
这是一个截图:

我正在制作一个信使应用程序,我希望用户点击我的tableview中的图像,它应该扩展到全屏并在导航栏上显示不同的控件.
我该怎么办呢?
我想我可以拍摄相同的图像,将UIImageView放在原始细胞图像的顶部并将其设置为全屏幕.但是,如何在没有闪烁,延迟和动画的情况下呈现不同的控制器?
这在许多消息传递应用程序中完成.
我将SKScenes用于主菜单的不同屏幕.这些屏幕中的每一个都相当复杂,具有许多元素.因此,每次用户在这些屏幕之间移动时,在进入下一个场景或前一个场景之前会有1-2秒的延迟,因为我每次都会重新创建它们.
我是否应该在创建场景之后将场景存储在一些单例中,以便下一次调用更快?这样做好吗?它不会太沉重吗?
我正在向新的Git存储库添加一个新项目.
我做了git init,当我这样做git add .时说:
fatal: Not a git repository: MyProject-iOS/Frameworks/AFNetworking.git/../../../.git/modules/MyProject-iOS/Frameworks/AFNetworking.git
框架结构在项目中很奇怪,我从别人那里继承了它.
该怎么做以及如何解决这个问题?
ios ×6
c ×3
sprite-kit ×3
objective-c ×2
algorithm ×1
cocoa ×1
cocoa-touch ×1
git ×1
graphics ×1
ios7 ×1
textures ×1
uikit ×1