0
A
回答
0
据我所知,你使用两种颜色的图像来定义碰撞(比如说白色是可以通过的而黑色是被阻挡的)。并且您希望SFML识别它。正确? sf::Image
(sfImage_createFromFile
和sfImage_getPixelsPtr
如果您使用CSFML)可以读取图像文件并为您提供一组像素(颜色)。但SFML不处理碰撞,它是一个渲染库。碰撞必须是程序逻辑的一部分。
0
做,这是简单地使用sprite.setColor功能,像这样
//Sets the sprite to purple
sprite.setColor(sf::Color(255,0,255));
这里最简单的方法是文档 http://www.sfml-dev.org/documentation/2.0/classsf_1_1Sprite.php#a14def44da6437bfea20c4df5e71aba4c这里是SF ::彩色文档http://www.sfml-dev.org/documentation/2.0/classsf_1_1Color.php
0
处理冲突必须是你在代码中定义的东西。 如果您正在使用瓷砖贴图,它应该为每个瓷砖保留值,定义它是哪种类型的单元。
使用这些值,您可以在程序中工作,并分别绘制和绘制逻辑,但都基于平铺地图信息。
一方面,您必须绘制与瓦片值相对应的颜色。这个过程是为了绘制每一帧,所以你不应该用复杂的逻辑给它充电(如碰撞)
另一方面,你必须检查其他实体(玩家,射弹等)是否与瓦片发生碰撞一个接一个,最好只在需要的时候(例如通过事件来调用,例如用户输入)
相关问题
- 1. C++ SFML 2.1碰撞
- 2. SFML平台与地图平铺碰撞
- 3. SFML包围盒碰撞检测
- 4. 我的SFML碰撞函数出错
- 5. visual C++ RECT碰撞
- 6. 碰撞检测颜色
- 7. AndEngine Box2D。移除碰撞后的碰撞游戏碰撞
- 8. C++运行超载,碰撞
- 9. c#OnTriggerStay与碰撞变量
- 10. 问题与碰撞C++
- 11. C#XNA精确碰撞?
- 12. 碰撞检测Objective-C(cocos2d)
- 13. 边框碰撞XNA C#
- 14. SFML碰撞检测只在原点工作?
- 15. SFML在鼠标碰撞测试中崩溃过程终止255
- 16. 在SFML和碰撞检测中使用瓷砖
- 17. 碰撞?
- 18. sprite碰撞cocos2d。每帧碰撞
- 19. 2D碰撞(返回碰撞端)
- 20. 碰撞检测和碰撞响应
- 21. Phaser P2碰撞杀死碰撞精灵
- 22. jQuery碰撞插件|如何真正检查是否有碰撞
- 23. 球碰撞问题,只有一半的球碰撞
- 24. Unity3D与角色控制器的碰撞
- 25. 碰撞时更改球的颜色
- 26. 处理颜色碰撞检测(java)
- 27. CCSprite没有响应碰撞
- 28. Pygame没有识别碰撞
- 29. Unity2d按键碰撞机在角色移动时与边框碰撞
- 30. C++/OpenGL/SFML顶点着色
SFML和C!?使用SFML/C++或SDL/C – deepmax 2013-03-12 14:58:00
是的,有一个C版本的SFML。你可以使用sfml比SDL更容易做到:) – Alkatell 2013-03-12 15:00:48
@MM。只是为了完整起见,通常只需用'_'来替换'::'来将C++ SFML代码转换为C代码。 – Morwenn 2013-03-12 16:13:36