我想在SpriteKit中创建一个类似于Tiny Wings游戏中的纹理地形。使用cocos2d,我能够关注Ray W的教程并获得我想要的外观......
http://www.raywenderlich.com/32954/how-to-create-a-game-like-tiny-wings-with-cocos2d-2-x-part-1
是否使用SpriteKit绘制点以使三角形填充重复纹理(或类似的东西)?
提前致谢。
答案 0 :(得分:2)
是的,你可以用精灵套装创造一个像小翼一样的游戏
使用http://dazchong.com/spritekit/工具创建serval CGMutablePath它是一个在线SKPhysicsBody路径生成器,并将它们保存在NSMutableArray数组中,假设您的游戏中只有一个级别用于多个级别创建多个NSMutableArray数组,并且多个随机保存CGMutablePath项目
确保所有CGMutablePath都有静态物理体,现在不要让它动态
在init函数中,按照第一条路径结束第二条路径的开始的顺序逐个添加所有路径,依此类推,你可以形成一个巨大的serval路径循环,它们相互连接。
没有更多的路径,因为太多的物理身体让你的游戏变得缓慢
现在更新内部功能将数组的所有项目从右向左移动 当你到达NSMutableArray数组的最后一项时,在循环算法的乞讨时再次添加它。
-(void)update:(CFTimeInterval)currentTime {
}
制作一只小鸟并给它一个动态的物理身体
设置小鸟的碰撞和接触类别以及你的循环路径
现在在didBeginContact函数中,您可以获得您的小鸟和路径之间的联系。现在您可以应用一点Impulse或者您可以获得contact.collisionImpulse在您的鸟和路径之间应用该值应用于您的鸟游戏
-(void)didBeginContact:(SKPhysicsContact *)contact
{
//contact
CGPoint contactPoint=CGPointMake(0, 0);
}
答案 1 :(得分:0)
所以我需要使用(或者至少我想到的)是顶点着色器,但Spritekit目前不支持这些。现在,我只能找到片段着色器。
但是我确实看到你可以创建一个SKShapeNode并设置它的纹理属性。唯一的问题是没有选择" tile"整个SKShapeNode的图像。
我确实发现这似乎解决了这个问题(尽管我还没有尝试过)。 https://gist.github.com/man1/413642637ebd0b00fe2b
看起来像是一个很好的解决方法!
最后,我决定将Cocos2d用于此项目,因为它支持顶点着色器和片段着色器。经过一些试验和错误,我得到了很好的工作。