Skip to content

Commit d1d5f85

Browse files
committed
ep7
1 parent 2f53f67 commit d1d5f85

23 files changed

+2063
-49
lines changed

Sources/arm/BulletController.hx

+29-3
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,48 @@
11
package arm;
22
import iron.system.Time;
3+
import iron.object.Object;
4+
import armory.trait.physics.PhysicsWorld;
5+
import armory.trait.physics.RigidBody;
36

47
class BulletController extends iron.Trait {
58
private var totalAliveTime = 0.0;
9+
private var physics:armory.trait.physics.PhysicsWorld;
610
public function new() {
711
super();
812

9-
// notifyOnInit(function() {
10-
// });
13+
notifyOnInit(function() {
14+
physics = armory.trait.physics.PhysicsWorld.active;
15+
});
1116

1217
notifyOnUpdate(function() {
18+
//count total alive time
19+
totalAliveTime += Time.delta;
20+
//move bullet forward
1321
object.transform.translate(0,10*Time.delta,0);
1422

23+
//Check rigidbody physics world for collision
24+
//getting all the collisions with the bullet
25+
var rigidBodies = physics.getContacts(object.getTrait(RigidBody));
26+
//if we have rigid bodies
27+
if(rigidBodies != null){
28+
//loop through each rigidBody
29+
for(rigidBody in rigidBodies){
30+
//check if the object that is attached to this rigidBody has a name of Enemy
31+
if(rigidBody.object.name == "Enemy"){
32+
// remove the bullet
33+
rigidBody.object.getTrait(EnemyController).damage(1);
34+
object.remove();
35+
}
36+
}
37+
}
38+
39+
40+
41+
//if in the game for 3 sec remove from the game
1542
if(totalAliveTime >= 3.0){
1643
object.remove();
1744
}
1845

19-
totalAliveTime += Time.delta;
2046
});
2147

2248
// notifyOnRemove(function() {

Sources/arm/EnemyController.hx

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package arm;
2+
3+
class EnemyController extends iron.Trait {
4+
private var health = 10;
5+
6+
//public function to deal damage to the Enemy.
7+
//this function is to be called from other objects that are colliding with the enemy.
8+
public function damage(amount:Int){
9+
health -= amount;
10+
}
11+
12+
public function new() {
13+
super();
14+
15+
// notifyOnInit(function() {
16+
// });
17+
18+
notifyOnUpdate(function() {
19+
//if the health of the Enemy reaches 0 then remove it from the game
20+
if(health <= 0){
21+
object.remove();
22+
}
23+
});
24+
25+
// notifyOnRemove(function() {
26+
// });
27+
}
28+
}

SpaceShooterblend.blend

10.7 KB
Binary file not shown.

SpaceShooterblend.blend1

10.7 KB
Binary file not shown.
733 Bytes
Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
��shader_datas���contexts���compare_mode�less�fragment_shader�Material_003_mesh.frag�vertex_shader�Material_003_mesh.vert�cull_mode�clockwise�constants���type�mat3�name�N�link�_normalMatrix��type�mat4�name�WVP�link�_worldViewProjectionMatrix�texture_units��name�mesh�vertex_structure���size�name�pos��size�name�nor�depth_writeÍ�compare_mode�less�color_write_blue¯fragment_shader�Material_003_shadowmap.frag�color_write_red©constants���type�mat4�name�LWVP�link�_lampWorldViewProjectionMatrix�color_write_green­vertex_shader�Material_003_shadowmap.vert�color_write_alpha©cull_mode�clockwise�depth_writeítexture_units��name�shadowmap�vertex_structure���size�name�pos�name�Material_003_data
1+
��shader_datas���contexts���compare_mode�less�texture_units��vertex_structure���size�name�pos��size�name�nor�vertex_shader�Material_003_mesh.vert�cull_mode�clockwise�depth_writeïfragment_shader�Material_003_mesh.frag�name�mesh�constants���link�_normalMatrix�type�mat3�name�N�link�_worldViewProjectionMatrix�type�mat4�name�WVP��compare_mode�less�texture_units��vertex_structure���size�name�pos�color_write_green«depth_writeïfragment_shader�Material_003_shadowmap.frag�name�shadowmap�constants���link�_lampWorldViewProjectionMatrix�type�mat4�name�LWVP�cull_mode�clockwise�color_write_alpha°color_write_blue¯color_write_red­vertex_shader�Material_003_shadowmap.vert�name�Material_003_data
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
��shader_datas���contexts���compare_mode�less�fragment_shader�armdefault_mesh.frag�vertex_shader�armdefault_mesh.vert�cull_mode�clockwise�constants���type�mat3�name�N�link�_normalMatrix��type�mat4�name�WVP�link�_worldViewProjectionMatrix�texture_units��name�mesh�vertex_structure���size�name�pos��size�name�nor�depth_writeÍ�compare_mode�less�color_write_blue¯fragment_shader�Material_003_shadowmap.frag�color_write_red©constants���type�mat4�name�LWVP�link�_lampWorldViewProjectionMatrix�color_write_green­vertex_shader�armdefault_shadowmap.vert�color_write_alpha©cull_mode�clockwise�depth_writeítexture_units��name�shadowmap�vertex_structure���size�name�pos�name�armdefault_data
1+
��shader_datas���contexts���compare_mode�less�texture_units��vertex_structure���size�name�pos��size�name�nor�vertex_shader�armdefault_mesh.vert�cull_mode�clockwise�depth_writeïfragment_shader�armdefault_mesh.frag�name�mesh�constants���link�_normalMatrix�type�mat3�name�N�link�_worldViewProjectionMatrix�type�mat4�name�WVP��compare_mode�less�texture_units��vertex_structure���size�name�pos�color_write_green«depth_writeïfragment_shader�Material_003_shadowmap.frag�name�shadowmap�constants���link�_lampWorldViewProjectionMatrix�type�mat4�name�LWVP�cull_mode�clockwise�color_write_alpha°color_write_blue¯color_write_red­vertex_shader�armdefault_shadowmap.vert�name�armdefault_data
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
��shader_datas���contexts���compare_mode�less�vertex_shader�world_pass.vert�depth_write©cull_mode�clockwise�fragment_shader�world_pass.frag�texture_units��name�world_pass�vertex_structure���size�name�pos��size�name�nor�constants���type�mat4�name�SMVP�link�_skydomeMatrix��type�vec3�name�backgroundCol�link�_backgroundCol�name�world_pass��contexts���compare_mode�always�vertex_shader�compositor_pass.vert�depth_write±color_write_alpha©cull_mode�none�fragment_shader�compositor_pass.frag�texture_units���name�tex��name�gbufferD�name�compositor_pass�vertex_structure���size�name�pos�constants��name�compositor_pass��contexts���compare_mode�always�vertex_shader�smaa_edge_detect.vert�depth_write©cull_mode�none�fragment_shader�smaa_edge_detect.frag�texture_units���name�colorTex�name�smaa_edge_detect�vertex_structure���size�name�pos�constants���type�vec2�name�screenSizeInv�link�_screenSizeInv�name�smaa_edge_detect��contexts���compare_mode�always�vertex_shader�smaa_blend_weight.vert�depth_write©cull_mode�none�fragment_shader�smaa_blend_weight.frag�texture_units���name�edgesTex��name�areaTex�link�_smaaArea��name�searchTex�link�_smaaSearch�name�smaa_blend_weight�vertex_structure���size�name�pos�constants���type�vec2�name�screenSize�link�_screenSize��type�vec2�name�screenSizeInv�link�_screenSizeInv�name�smaa_blend_weight��contexts���compare_mode�always�vertex_shader�smaa_neighborhood_blend.vert�depth_write©cull_mode�none�fragment_shader�smaa_neighborhood_blend.frag�texture_units���name�colorTex��name�blendTex�name�smaa_neighborhood_blend�vertex_structure���size�name�pos�constants���type�vec2�name�screenSizeInv�link�_screenSizeInv�name�smaa_neighborhood_blend��contexts���compare_mode�always�color_write_blue¯fragment_shader�ssao_pass.frag�depth_write±color_write_green­vertex_shader�pass.vert�color_write_alpha©cull_mode�none�constants���type�mat4�name�invVP�link�_inverseViewProjectionMatrix��type�vec3�name�eye�link�_cameraPosition��type�vec2�name�screenSize�link�_screenSize��type�vec2�name�aspectRatio�link�_aspectRatio�texture_units���name�gbufferD��name�gbuffer0��name�snoise�link�_noise8�name�ssao_pass�vertex_structure���size�name�pos�name�ssao_pass��contexts���compare_mode�always�vertex_shader�pass.vert�depth_write±color_write_alpha©cull_mode�none�fragment_shader�blur_edge_pass.frag�texture_units���name�tex��name�gbuffer0�name�blur_edge_pass_x�vertex_structure���size�name�pos�constants���type�vec2�name�dirInv�link�_vec2xInv��compare_mode�always�vertex_shader�pass.vert�depth_write±color_write_alpha©cull_mode�none�fragment_shader�blur_edge_pass.frag�texture_units���name�tex��name�gbuffer0�name�blur_edge_pass_y�vertex_structure���size�name�pos�constants���type�vec2�name�dirInv�link�_vec2yInv��compare_mode�always�blend_destination�blend_zero�texture_units���name�tex��name�gbuffer0�fragment_shader�blur_edge_pass.frag�depth_write­vertex_shader�pass.vert�color_write_alpha¯blend_operation�add�cull_mode�none�constants���type�vec2�name�dirInv�link�_vec2yInv�blend_source�destination_color�name�blur_edge_pass_y_blend�vertex_structure���size�name�pos��compare_mode�always�blend_destination�blend_one�texture_units���name�tex��name�gbuffer0�alpha_blend_destination�blend_one�fragment_shader�blur_edge_pass.frag�depth_write²alpha_blend_source�blend_one�vertex_shader�pass.vert�color_write_alpha¯blend_operation�add�cull_mode�none�constants���type�vec2�name�dirInv�link�_vec2yInv�blend_source�blend_one�name�blur_edge_pass_y_blend_add�vertex_structure���size�name�pos�name�blur_edge_pass��contexts���compare_mode�always�vertex_shader�deferred_indirect.vert�depth_write±color_write_alpha©cull_mode�none�fragment_shader�deferred_indirect.frag�texture_units���name�gbuffer0��name�gbuffer1��name�ssaotex�name�deferred_indirect�vertex_structure���size�name�pos�constants���type�float�name�envmapStrength�link�_envmapStrength��type�floats�name�shirr�link�_envmapIrradiance��type�vec3�name�backgroundCol�link�_backgroundCol�name�deferred_indirect��contexts���compare_mode�greater�blend_destination�blend_one�texture_units���name�gbuffer0��name�gbuffer1��name�shadowMap��name�shadowMapCube�alpha_blend_destination�blend_one�fragment_shader�deferred_light.frag�depth_write²alpha_blend_source�blend_one�vertex_shader�pass_lamp_volume.vert�color_write_alpha¯blend_operation�add�cull_mode�counter_clockwise�constants���type�mat4�name�LVWVP�link�$_lampVolumeWorldViewProjectionMatrix��type�mat4�name�invVP�link�_inverseViewProjectionMatrix��type�mat4�name�LWVP�link�"_biasLampWorldViewProjectionMatrix��type�vec3�name�lightColor�link�_lampColor��type�vec3�name�lightDir�link�_lampDirection��type�vec3�name�lightPos�link�_lampPosition��type�vec2�name�lightProj�link�_lampPlaneProj��type�int�name�lightType�link�_lampType��type�int�name�lightShadow�link�_lampCastShadow��type�float�name�shadowsBias�link�_lampShadowsBias��type�vec2�name�spotlightData�link�_spotlampData��type�vec3�name�eye�link�_cameraPosition�blend_source�blend_one�name�deferred_light�vertex_structure���size�name�pos�name�deferred_light��contexts���compare_mode�always�blend_destination�blend_one�texture_units���name�gbuffer0��name�gbuffer1��name�shadowMap�alpha_blend_destination�blend_one�fragment_shader�deferred_light_quad.frag�depth_write²alpha_blend_source�blend_one�vertex_shader�pass_viewray.vert�color_write_alpha¯blend_operation�add�cull_mode�none�constants���type�mat4�name�invVP�link�_inverseViewProjectionMatrix��type�vec3�name�eye�link�_cameraPosition��type�floats�name�casData�link�_cascadeData��type�vec3�name�lightColor�link�_lampColor��type�vec3�name�l�link�_lampDirection��type�int�name�lightShadow�link�_lampCastShadow��type�float�name�shadowsBias�link�_lampShadowsBias��type�vec3�name�eyeLook�link�_cameraLook��type�vec2�name�cameraProj�link�_cameraPlaneProj�blend_source�blend_one�name�deferred_light_quad�vertex_structure���size�name�pos�name�deferred_light_quad
1+
��shader_datas���contexts���compare_mode�less�texture_units��vertex_structure���size�name�pos��size�name�nor�vertex_shader�world_pass.vert�cull_mode�clockwise�name�world_pass�depth_write¯fragment_shader�world_pass.frag�constants���link�_skydomeMatrix�type�mat4�name�SMVP��link�_backgroundCol�type�vec3�name�backgroundCol�name�world_pass��contexts���compare_mode�always�texture_units���name�tex��name�gbufferD�vertex_structure���size�name�pos�vertex_shader�compositor_pass.vert�cull_mode�none�name�compositor_pass�color_write_alpha«depth_write¯fragment_shader�compositor_pass.frag�constants��name�compositor_pass��contexts���compare_mode�always�texture_units���name�colorTex�vertex_structure���size�name�pos�vertex_shader�smaa_edge_detect.vert�cull_mode�none�name�smaa_edge_detect�depth_write¯fragment_shader�smaa_edge_detect.frag�constants���link�_screenSizeInv�type�vec2�name�screenSizeInv�name�smaa_edge_detect��contexts���compare_mode�always�texture_units���name�edgesTex��link�_smaaArea�name�areaTex��link�_smaaSearch�name�searchTex�vertex_structure���size�name�pos�vertex_shader�smaa_blend_weight.vert�cull_mode�none�name�smaa_blend_weight�depth_write¯fragment_shader�smaa_blend_weight.frag�constants���link�_screenSize�type�vec2�name�screenSize��link�_screenSizeInv�type�vec2�name�screenSizeInv�name�smaa_blend_weight��contexts���compare_mode�always�texture_units���name�colorTex��name�blendTex�vertex_structure���size�name�pos�vertex_shader�smaa_neighborhood_blend.vert�cull_mode�none�name�smaa_neighborhood_blend�depth_write¯fragment_shader�smaa_neighborhood_blend.frag�constants���link�_screenSizeInv�type�vec2�name�screenSizeInv�name�smaa_neighborhood_blend��contexts���compare_mode�always�texture_units���name�gbufferD��name�gbuffer0��link�_noise8�name�snoise�vertex_structure���size�name�pos�vertex_shader�pass.vert�depth_write¯fragment_shader�ssao_pass.frag�constants���link�_inverseViewProjectionMatrix�type�mat4�name�invVP��link�_cameraPosition�type�vec3�name�eye��link�_screenSize�type�vec2�name�screenSize��link�_aspectRatio�type�vec2�name�aspectRatio�cull_mode�none�name�ssao_pass�color_write_alpha°color_write_blue±color_write_green¤name�ssao_pass��contexts���compare_mode�always�texture_units���name�tex��name�gbuffer0�vertex_structure���size�name�pos�vertex_shader�pass.vert�cull_mode�none�name�blur_edge_pass_x�color_write_alpha«depth_write¯fragment_shader�blur_edge_pass.frag�constants���link�_vec2xInv�type�vec2�name�dirInv��compare_mode�always�texture_units���name�tex��name�gbuffer0�vertex_structure���size�name�pos�vertex_shader�pass.vert�cull_mode�none�name�blur_edge_pass_y�color_write_alpha«depth_write¯fragment_shader�blur_edge_pass.frag�constants���link�_vec2yInv�type�vec2�name�dirInv��compare_mode�always�texture_units���name�tex��name�gbuffer0�vertex_structure���size�name�pos�vertex_shader�pass.vert�depth_write¯fragment_shader�blur_edge_pass.frag�blend_destination�blend_zero�blend_source�destination_color�blend_operation�add�cull_mode�none�name�blur_edge_pass_y_blend�color_write_alpha©constants���link�_vec2yInv�type�vec2�name�dirInv��compare_mode�always�texture_units���name�tex��name�gbuffer0�vertex_structure���size�name�pos�vertex_shader�pass.vert�depth_write¯fragment_shader�blur_edge_pass.frag�blend_destination�blend_one�blend_source�blend_one�blend_operation�add�cull_mode�none�name�blur_edge_pass_y_blend_add�alpha_blend_destination�blend_one�alpha_blend_source�blend_one�color_write_alpha©constants���link�_vec2yInv�type�vec2�name�dirInv�name�blur_edge_pass��contexts���compare_mode�always�texture_units���name�gbuffer0��name�gbuffer1��name�ssaotex�vertex_structure���size�name�pos�vertex_shader�deferred_indirect.vert�cull_mode�none�name�deferred_indirect�color_write_alpha«depth_write¯fragment_shader�deferred_indirect.frag�constants���link�_envmapStrength�type�float�name�envmapStrength��link�_envmapIrradiance�type�floats�name�shirr��link�_backgroundCol�type�vec3�name�backgroundCol�name�deferred_indirect��contexts���compare_mode�greater�texture_units���name�gbuffer0��name�gbuffer1��name�shadowMap��name�shadowMapCube�vertex_structure���size�name�pos�vertex_shader�pass_lamp_volume.vert�depth_write¯fragment_shader�deferred_light.frag�blend_destination�blend_one�blend_source�blend_one�blend_operation�add�cull_mode�counter_clockwise�name�deferred_light�alpha_blend_destination�blend_one�alpha_blend_source�blend_one�color_write_alpha©constants���link�$_lampVolumeWorldViewProjectionMatrix�type�mat4�name�LVWVP��link�_inverseViewProjectionMatrix�type�mat4�name�invVP��link�"_biasLampWorldViewProjectionMatrix�type�mat4�name�LWVP��link�_lampColor�type�vec3�name�lightColor��link�_lampDirection�type�vec3�name�lightDir��link�_lampPosition�type�vec3�name�lightPos��link�_lampPlaneProj�type�vec2�name�lightProj��link�_lampType�type�int�name�lightType��link�_lampCastShadow�type�int�name�lightShadow��link�_lampShadowsBias�type�float�name�shadowsBias��link�_spotlampData�type�vec2�name�spotlightData��link�_cameraPosition�type�vec3�name�eye�name�deferred_light��contexts���compare_mode�always�texture_units���name�gbuffer0��name�gbuffer1��name�shadowMap�vertex_structure���size�name�pos�vertex_shader�pass_viewray.vert�depth_write¯fragment_shader�deferred_light_quad.frag�blend_destination�blend_one�blend_source�blend_one�blend_operation�add�cull_mode�none�name�deferred_light_quad�alpha_blend_destination�blend_one�alpha_blend_source�blend_one�color_write_alpha©constants���link�_inverseViewProjectionMatrix�type�mat4�name�invVP��link�_cameraPosition�type�vec3�name�eye��link�_cascadeData�type�floats�name�casData��link�_lampColor�type�vec3�name�lightColor��link�_lampDirection�type�vec3�name�l��link�_lampCastShadow�type�int�name�lightShadow��link�_lampShadowsBias�type�float�name�shadowsBias��link�_cameraLook�type�vec3�name�eyeLook��link�_cameraPlaneProj�type�vec2�name�cameraProj�name�deferred_light_quad

build_SpaceShooterblend/debug/SpaceShooterblend-krom-intellij/.idea/haxe.xml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build_SpaceShooterblend/debug/SpaceShooterblend-krom-intellij/SpaceShooterblend.iml

+4
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<sourceFolder url="file:///Users/kent/Desktop/Space Shooter/Sources" isTestSource="false" />
2121
<sourceFolder url="file:///Users/kent/Applications/Armory/blender.app/armsdk/armory/Sources" isTestSource="false" />
2222
<sourceFolder url="file:///Users/kent/Applications/Armory/blender.app/armsdk/iron/Sources" isTestSource="false" />
23+
<sourceFolder url="file:///Users/kent/Applications/Armory/blender.app/armsdk/lib/haxebullet/Sources" isTestSource="false" />
2324

2425
</content>
2526
<content url="file:///Users/kent/Applications/Armory/blender.app/armsdk/armory">
@@ -28,6 +29,9 @@
2829
<content url="file:///Users/kent/Applications/Armory/blender.app/armsdk/iron">
2930
<sourceFolder url="file:///Users/kent/Applications/Armory/blender.app/armsdk/iron" isTestSource="false" />
3031
</content>
32+
<content url="file:///Users/kent/Applications/Armory/blender.app/armsdk/lib/haxebullet">
33+
<sourceFolder url="file:///Users/kent/Applications/Armory/blender.app/armsdk/lib/haxebullet" isTestSource="false" />
34+
</content>
3135

3236
<orderEntry type="jdk" jdkName="Haxe 3.2.0" jdkType="Haxe toolkit" />
3337
<orderEntry type="sourceFolder" forTests="false" />

0 commit comments

Comments
 (0)