- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一张碰撞图,有些地方我想成为光源。光源提供的光实际上是我可以看到地面的形状。现在看起来像这样:
所以光线穿过墙壁。我想让它看起来像这样:
(我用深黄色标记了与墙壁的碰撞)
因此光线在遇到墙壁时停止。我想得到正确的光的形状,最好是包含它的位图)
我的第一个想法是从光源转换光线并检查它们何时与墙碰撞(我知道该怎么做),但是我需要例如每 0.001 度转换一次光线,所以时间太长了产生光。其次是灯的形状并不总是圆形,有时可以是椭圆形或半椭圆形,甚至是三角形或圆形的一部分。通常,我的位图带有不会发生任何碰撞的光线,我想稍微减去它以使其看起来像第二张图像。
最后一件事,我使用的是 allegro 4.2.1,但是之前提到的所有位图都是包含 0 和 1 的二维数组。
感谢您的帮助,抱歉问题太长,英语不好。
最佳答案
基本思想是计算墙壁的阴影区域,而不是为其着色。
This article应该给你一个好的开始。
关于c++ - 2D 照明 - 使光线不穿过墙壁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10702448/
我目前在使用边界框使 sprite 显示为实体时遇到问题。碰撞与下面的代码一起工作得很好。 位置是主要角色在 map 上的位置。character2 是主角将与之发生碰撞的 18 x 28 Sprit
这个问题在这里已经有了答案: JavaScript: Collision detection (10 个回答) 10 个月前关闭。 检测 2 个物体(墙壁)碰撞的好方法。是的,不仅仅是检测,还有进一步
我正在制作一个 roguelike 游戏,但在编码方面我是初学者。我已经让我的角色移动了,我的墙壁和地板 Sprite ,但我的代码中有一些错误,允许角色穿过墙壁。 我用了 block_path在地板
我使用的代码只是取自一个示例,它确实为我的场景建了一堵墙: /** This loop builds a wall out of individual bricks. */ public vo
我已经尝试解决平滑播放器-墙壁-碰撞的问题,使播放器沿着墙壁滑动。 我试过以下: playerBox->move(); if (playerBox->intersects(wall)) { c
我是一名优秀的程序员,十分优秀!