From 365baa560fd0fa2ae00e6e4fe015bbcd5356b5b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robin=20H=C3=BCbner?= Date: Tue, 1 Aug 2017 23:28:11 +0200 Subject: [PATCH] wew --- Asteroid.gd | 12 ++++++++++++ Asteroid.tscn | 17 ++++++++++++++++- Bullet.gd | 8 ++++++++ Bullet.tscn | 16 +++++++++++++++- EnemyGrunt.gd | 1 + img/player_ship.tex | 4 ++-- raw/player_ship.ase | 4 ++-- raw/player_ship.png | Bin 336 -> 375 bytes raw/power_station.ase | 4 ++-- raw/power_station.png | Bin 1206 -> 1307 bytes 10 files changed, 58 insertions(+), 8 deletions(-) diff --git a/Asteroid.gd b/Asteroid.gd index 965c33e..4d33670 100644 --- a/Asteroid.gd +++ b/Asteroid.gd @@ -6,6 +6,7 @@ var rot_vel = 0 var max_vel = 6 # pixels per second? var max_rot_vel = 2.5 # degrees per second +var health = 100 func _ready(): randomize() @@ -28,6 +29,9 @@ func wrap(v, v_min, v_max): return v_min - 1 else: return v + +func explode(): + queue_free() func _fixed_process(delta): @@ -36,6 +40,14 @@ func _fixed_process(delta): # cur_pos.y = wrap(cur_pos.y, 1, get_viewport().get_rect().size.y) # set_pos(cur_pos) + if is_colliding(): + var e = get_collider() + if e.type() == "Bullet": + health -= 25 + + if health <= 0: + explode() + self.move(velocity) self.rotate(rot_vel) diff --git a/Asteroid.tscn b/Asteroid.tscn index 48f8ffe..d17819e 100644 --- a/Asteroid.tscn +++ b/Asteroid.tscn @@ -1,11 +1,19 @@ -[gd_scene load_steps=3 format=1] +[gd_scene load_steps=4 format=1] [ext_resource path="res://Asteroid.gd" type="Script" id=1] [ext_resource path="res://raw/asteroid.png" type="Texture" id=2] +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 25.1672, 26.3172 ) + [node name="Asteroid" type="KinematicBody2D"] input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, -0.17482, 3.67132 ) +shapes/0/trigger = false collision/layers = 1 collision/mask = 1 collision/margin = 0.08 @@ -15,4 +23,11 @@ script/script = ExtResource( 1 ) texture = ExtResource( 2 ) +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( -0.17482, 3.67132 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = 0 + diff --git a/Bullet.gd b/Bullet.gd index 4e9902b..8991070 100644 --- a/Bullet.gd +++ b/Bullet.gd @@ -11,9 +11,17 @@ func _ready(): func fire(delta, vel, dir, speed): velocity = (vel.length() * dir + (dir * speed * delta)) sprite.rotate(dir.angle()) + +func type(): + return "Enemy" func _fixed_process(delta): + move(velocity) lifetime -= delta + + if is_colliding(): + var e = get_collider() + if lifetime <= 0: queue_free() \ No newline at end of file diff --git a/Bullet.tscn b/Bullet.tscn index 0ce5212..3a38543 100644 --- a/Bullet.tscn +++ b/Bullet.tscn @@ -1,11 +1,19 @@ -[gd_scene load_steps=3 format=1] +[gd_scene load_steps=4 format=1] [ext_resource path="res://Bullet.gd" type="Script" id=1] [ext_resource path="res://raw/simple_bullet.png" type="Texture" id=2] +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 0.99762, 3.98857 ) + [node name="Bullet" type="KinematicBody2D"] input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false collision/layers = 1 collision/mask = 1 collision/margin = 0.08 @@ -15,4 +23,10 @@ script/script = ExtResource( 1 ) texture = ExtResource( 2 ) +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = 0 + diff --git a/EnemyGrunt.gd b/EnemyGrunt.gd index daa258a..2db49ad 100644 --- a/EnemyGrunt.gd +++ b/EnemyGrunt.gd @@ -1,6 +1,7 @@ extends KinematicBody2D var grunt_rot_speed = deg2rad(22.5) # degrees per second +var current_target = null func _ready(): var t = get_tree() diff --git a/img/player_ship.tex b/img/player_ship.tex index 924833b..0593476 100644 --- a/img/player_ship.tex +++ b/img/player_ship.tex @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee80f8310c0716d3d0f917da317607e0d9a20fa40ef02c9981f17d1f62bbe44e -size 934 +oid sha256:19ae97544f084ae4390b575fbd44134e69ba056ca0993a50cdcda21008c5555c +size 950 diff --git a/raw/player_ship.ase b/raw/player_ship.ase index a00e5f2..7ce9af1 100644 --- a/raw/player_ship.ase +++ b/raw/player_ship.ase @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f8b9553f7da9e0500ddfe73a11dcf865060d559fd6c9b929e1bed2aff6c13df -size 720 +oid sha256:ca8e9d7504871a709af802f1057b1454f32629118ec00f754a84d9ebfd4c0dae +size 732 diff --git a/raw/player_ship.png b/raw/player_ship.png index 0f8c4dff06099b54d3900edba81e16e35d05224a..1d3f68d1d5a92371f87c7ef39ab5a05301b13f64 100644 GIT binary patch delta 348 zcmV-i0i*uV0`~%tB!50hL_t(oh3!_c4Z<)Gd?H4mp+k|_fSL-HV1sPH2-$!I5EUa( zrDg+5mOC1D2nBlU^KufOiG_r?CZE{8zkmO~LiEQU5ja$Jo9j%GLqv+;uL+3GKrAsD zJtQCpU;#rBrrbRw;NILO+0!c^HiFQ;)U)svIAc3xl2ES2B7eCErQ=WfevUX|IAdwG zE`7w(*5@v#;|vlo^%NW9D?%GN8fPpyW8umsdUpe#mz>&H(dRq|LLz(ykSJH{(m$mg z3+ZdL2qiY#ows$SSPUYB2y8=nr_yQPdJLcp=;%UOKmiH3H#b@=`%~?VrRT$Tu4)WP zlTf#*{D#73fK^q?$Wkg?^Jy-<))|wBs&097N}Jz_C^&w#P1GI1L%f4?S|fH$kIjDx us0Nt$yuT7ZrHwj=1?2cCh46I&KZzH@U(M{RE~1bC0000Qn9l3`00000NkvXX Hu0mjfZg`K0 diff --git a/raw/power_station.ase b/raw/power_station.ase index 53041e0..2b3e68e 100644 --- a/raw/power_station.ase +++ b/raw/power_station.ase @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec423b64d26fc631e98da5910e9f22e0e758e12836a3e6409fac3d76ecc1f6ae -size 1188 +oid sha256:47c369c1ae588c03991289f61ea8f4ee12f1027a071f98bc6d383b1fdf15eb25 +size 1262 diff --git a/raw/power_station.png b/raw/power_station.png index 0323016787521d0de48c7238d75f5ee6043c409c..5fd8951562706e736325c9cc1b31e7b053a3781f 100644 GIT binary patch delta 1288 zcmV+j1^4>437ZO#B!A*bL_t(|ob6k!Pa{zfpEgK>!r+=FbqxxIK=nVsHJBO_1OkU6 zINS*Y$(fo<9sfZU;#3u>yX1nype}e$z$~-VdGqmhyKTAqCC%=3=gpg$H*em&k8ME^ z!?T;WXqhH4xw~vd=uKit;iq4}i~CNmTY7F1yzWk~yFgJDOQ zNOf1LYg;P7?>8NqUJG47ilko!l5TAPJNSJSP~A}HE&4JV(O;h5%e*}6Wp?-SyvpK> zbw~K4j_3_r^nYbk`GcbY06=k-FngGqifGVyZhB@<6Kt-8te3Sf-7Nc%px*o z2^cAF%>+FGvD52*4uf8owv_+#<6H4=|N0glug**KJ0}+^e_CGRv2$`!xG$GEV!&_^ zq=h*oeWl*F=S3RF7f~kJP)9OkI$|+CjF61s1&FXD5SdSeeI*b z>|v@-Y-psO-@n3eK88tuQNT-UDgSf&y??YPaX2`A+c~)qjgaF3Ui$DTfV7-` z=j5W)vQqF$DNp~Cyo2)M^`zvnYMSzhlo2>DUSA}WM0!MR9>5`a zfTp}glNt&m@^E@Y<1ruyjl_U|6^(X*Tr9H-)Di?GNN#&LI5k(FBpOc_SZNTH1mLZP zG*#HU8F5+Qs~hsw1`gg8?DmMVBSIDNB} z*LX$b;q-`=41>{Cp_Qk?e4}9#MgeVeB+CP=P0s!6+t2%t>u^4X3DmP7GMtYA=AZvR zDP?f8G==OKK=9TlgF+-x$P=&|Jmc_BGr5vS~ejZ>Q+76Ycene#t z;QMr?3=RB7L2!DBM`{f)#{>Rvk6X+DJ~u}AL4=&0*<~R2yiljt^~HeQy>5|MNPoL9 zS_O5T5z^|2DxZ}Hq>Qj?ePlz%@WT8GHKEKuE0XK`bs>8!2^q;wL8K|b_sGAx}6 z14v(3Zn7b?WKI2UP)a{H$q?F1QIfx8fXUru3#}u~)A??URB`lLwJd*@c8u^n)ejN= ycsh3uz6?lpbK_VaPlrA=U-wVv5s^>m{{p%6bZZcZDboM|002ovPDHLkU;%=&h;DBH delta 1186 zcmV;T1YP@^3bqN5B!7KLL_t(|oZVZkZX-bqcB0^-kg_UL-=L_VQNf|p1(uZ* zg@gt6R8Sp=iYoO5iVA}I29=_+kf6Lk4xGH_xVFch{b{nFbjsd#c5Hw9jc0a#I*@_U zc)HDbu5LWu-E^YQgdf1*Ki-!B0B~|TD6X3ZwS96r0Dw3Np?|_WckvbrDb|ctj+ioZt~r5|RW|5q#5# zkYEx}NAO2i*I9py!b^fmKwWQsF`S5jV)CmJ9uh`CLSPUm{ zesx_WJL~ORb$@&D@xFwU(*cae(=G2JcN7o}p7*=__wDsXeHNQSO8QubX2VO6ri6lk z+~Dc6{I^P2Hp-CDr8la2^EqSk6jHWwN$8Y$^C`T&zCizYptf}!9rAm${Cc&7vx`f& z&1f9moQG0x!=r%n=UZ3|C+=~-*Je}+ozZx@^$?Jgjej)-VDMA{^j;YSAiObk@gnsP z!2cG$QUO#6o|qa}00p*vPC(-d@S-XONd10l7+j_LD83{I0Q_$P(se5p5c$%R${w@= z0CqDyfUN+U7+a%&vN&i3XxUx^Enl|+dI0}qMuD=;sZ>H_LR2arwX3}>9%n&-R5d6x1$_K|&7z;Qr5V008*;<5#wmXbeDhG)e|lA=ZcY$`Xt5 z-akC;Du5HQUMIUNl?0TPv7p*t~YEYZEXp_Jl#gV_?kR3q<__) zW1IJAMG}nevnvaH+tK4RWgwj?+UW(FCZS1a2dX}GgH4dY+j`w9uuhYS