extends Node2D
const bullet_image := preload("res://bullet.png")
var bullets=[]
var MAX_COUNT=100
func _ready() -> void:
var shape = PhysicsServer2D.circle_shape_create()
PhysicsServer2D.shape_set_data(shape, 8)
for i in range(MAX_COUNT):
bullets.push_back([Vector2(randf_range(0,get_viewport_rect().size.x),
randf_range(0,get_viewport_rect().size.y)),PhysicsServer2D.body_create()])
PhysicsServer2D.body_set_space(bullets[i][1],get_world_2d().get_space())
PhysicsServer2D.body_add_shape(bullets[i][1],shape)
var transform2d := Transform2D()
transform2d.origin=bullets[i][0]
PhysicsServer2D.body_set_state(bullets[i][1],PhysicsServer2D.BODY_STATE_TRANSFORM,
transform2d)
func _physics_process(delta: float) -> void:
for bullet:Array in bullets:
var transform2d := Transform2D()
transform2d.origin=bullet[0]
PhysicsServer2D.body_set_state(bullet[1],PhysicsServer2D.BODY_STATE_TRANSFORM,
transform2d)
func _process(delta: float) -> void:
queue_redraw()
func _draw() -> void:
for bullet: Array in bullets:
draw_texture(bullet_image, bullet[0])