creating the lights in this game was quite an interesting challenge. at first, I was using a 32x1 sprite and creating a series of objects from the light to the next floor that it came in contact with, but that caused a lot of frame rate issues since I was generating hundreds of objects per light.
thanks to some googling, I found out that I could create an object pool and reuse a bunch of pre-generated objects when I needed them. this helped a bit, but once I added around 15 lights, the framerate issues persisted since I was still activating/deactivating up to hundreds of objects at once.
finally, I decided to figure out the space between the light and the next floor and stretch the object's sprite until it hit the next floor. this finally solved the problem and taught me how to scale on the fly and how to use object pools (which I now use all of the time).