Abheek Dhawan
4 years ago
3 changed files with 118 additions and 0 deletions
@ -0,0 +1,8 @@ |
|||
extends Area2D |
|||
|
|||
func _on_Coin_body_entered(body): |
|||
print (body.name) |
|||
if body.name == "Rocket": |
|||
var numOfCoins = get_parent().get("numOfCoins") |
|||
numOfCoins += 1 |
|||
queue_free() |
@ -0,0 +1,54 @@ |
|||
[gd_scene load_steps=10 format=2] |
|||
|
|||
[ext_resource path="res://Images and Anims/In Game/coin.png" type="Texture" id=1] |
|||
[ext_resource path="res://Objects/Coin.gd" type="Script" id=2] |
|||
|
|||
[sub_resource type="CircleShape2D" id=1] |
|||
radius = 22.2384 |
|||
|
|||
[sub_resource type="AtlasTexture" id=2] |
|||
flags = 4 |
|||
atlas = ExtResource( 1 ) |
|||
region = Rect2( 0, 0, 16, 16 ) |
|||
|
|||
[sub_resource type="AtlasTexture" id=3] |
|||
flags = 4 |
|||
atlas = ExtResource( 1 ) |
|||
region = Rect2( 16, 0, 16, 16 ) |
|||
|
|||
[sub_resource type="AtlasTexture" id=4] |
|||
flags = 4 |
|||
atlas = ExtResource( 1 ) |
|||
region = Rect2( 32, 0, 16, 16 ) |
|||
|
|||
[sub_resource type="AtlasTexture" id=5] |
|||
flags = 4 |
|||
atlas = ExtResource( 1 ) |
|||
region = Rect2( 48, 0, 16, 16 ) |
|||
|
|||
[sub_resource type="AtlasTexture" id=6] |
|||
flags = 4 |
|||
atlas = ExtResource( 1 ) |
|||
region = Rect2( 64, 0, 16, 16 ) |
|||
|
|||
[sub_resource type="SpriteFrames" id=7] |
|||
animations = [ { |
|||
"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ], |
|||
"loop": true, |
|||
"name": "Spin", |
|||
"speed": 10.0 |
|||
} ] |
|||
|
|||
[node name="Coin" type="Area2D"] |
|||
script = ExtResource( 2 ) |
|||
|
|||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] |
|||
shape = SubResource( 1 ) |
|||
|
|||
[node name="AnimatedSprite" type="AnimatedSprite" parent="."] |
|||
scale = Vector2( 2, 2 ) |
|||
frames = SubResource( 7 ) |
|||
animation = "Spin" |
|||
frame = 2 |
|||
playing = true |
|||
[connection signal="body_entered" from="." to="." method="_on_Coin_body_entered"] |
@ -0,0 +1,56 @@ |
|||
extends Node2D |
|||
|
|||
var time = 0 |
|||
var asteroidObj = load("res://Objects/Asteroid.tscn") |
|||
var coinObj = load("res://Objects/Coin.tscn") |
|||
var spawnTime |
|||
var deltaSpawnTime = 1 |
|||
var asteroidSpawnRepeat = 0 |
|||
var hiscore = 0 |
|||
var numOfCoins = 0 |
|||
|
|||
func load_game(): |
|||
var save_game = File.new() |
|||
if not save_game.file_exists("user://savegame.save"): |
|||
return |
|||
save_game.open("user://savegame.save", File.READ) |
|||
while save_game.get_position() < save_game.get_len(): |
|||
var data = parse_json(save_game.get_line()) |
|||
var hiscore = data["hiscore"] |
|||
var numOfCoins = data["numOfCoins"] |
|||
|
|||
func _process(delta): |
|||
spawnTime = 500/get_viewport_rect().size.x * deltaSpawnTime |
|||
time += delta |
|||
#print (numOfCoins) |
|||
if time > spawnTime: |
|||
asteroidSpawnRepeat += 1 |
|||
time = 0 |
|||
if spawnTime > 300/get_viewport_rect().size.x: |
|||
deltaSpawnTime *= 0.995 |
|||
if has_node("Rocket"): |
|||
var asteroid = asteroidObj.instance() |
|||
add_child(asteroid) |
|||
asteroid.position.x = rand_range($Rocket.position.x - get_viewport_rect().size.x/2, $Rocket.position.x + get_viewport_rect().size.x/2) |
|||
asteroid.position.y = rand_range($Rocket.position.y - get_viewport_rect().size.y, $Rocket.position.y - 2 * get_viewport_rect().size.y) |
|||
asteroid.rotation = rand_range(0, 6.28) |
|||
if asteroidSpawnRepeat == 5: |
|||
asteroidSpawnRepeat = 0 |
|||
if has_node("Rocket"): |
|||
var coin = coinObj.instance() |
|||
add_child(coin) |
|||
coin.position.x = rand_range($Rocket.position.x - get_viewport_rect().size.x/2, $Rocket.position.x + get_viewport_rect().size.x/2) |
|||
coin.position.y = rand_range($Rocket.position.y - get_viewport_rect().size.y, $Rocket.position.y - 2 * get_viewport_rect().size.y) |
|||
|
|||
func save(): |
|||
var save_dict = { |
|||
"hiscore" : hiscore, |
|||
"numOfCoins" : numOfCoins |
|||
} |
|||
return save_dict |
|||
|
|||
func save_data(): |
|||
var save_game = File.new() |
|||
save_game.open("user://savegame.save", File.WRITE) |
|||
var data = call("save") |
|||
save_game.store_line(to_json(data)) |
Loading…
Reference in new issue