Skip to content

Commit e666488

Browse files
committed
Merge branch 'master' of github.com:sachPico/top-down
2 parents ef69401 + 2d66058 commit e666488

18 files changed

+1111
-21
lines changed

Assets/2-Gerakan-dan-Animasi/Scenes/Game.unity

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,7 @@ MonoBehaviour:
733733
m_Name:
734734
m_EditorClassIdentifier:
735735
enemy: {fileID: 6849644610586864870, guid: 767873397da669d4e9898e78cd768952, type: 3}
736+
spawnTime: 0
736737
--- !u!4 &1992817980
737738
Transform:
738739
m_ObjectHideFlags: 0

Assets/2-Gerakan-dan-Animasi/Scripts/MovementInput.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,12 @@ void Update()
4545
spawnedPlayerBullet.GetComponent<BulletMovement>().bulletSpeed = bulletSpeed;
4646
}
4747
}
48+
49+
void OnTriggerEnter2D(Collider2D other)
50+
{
51+
if(other.tag == "Enemy" || other.tag == "EnemyBullet")
52+
{
53+
// Debug.Break();
54+
}
55+
}
4856
}

Assets/3-Object-Collision/Prefab/Enemy.prefab

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ SpriteRenderer:
9292
m_LightmapParameters: {fileID: 0}
9393
m_SortingLayerID: 0
9494
m_SortingLayer: 0
95-
m_SortingOrder: 0
95+
m_SortingOrder: 1
9696
m_Sprite: {fileID: 1867942530553789621, guid: a6ac699766d63234d867dce54a763a9e,
9797
type: 3}
9898
m_Color: {r: 1, g: 1, b: 1, a: 1}
@@ -164,5 +164,8 @@ MonoBehaviour:
164164
m_Script: {fileID: 11500000, guid: 60ef344b371a61040a35679c6c42f9a1, type: 3}
165165
m_Name:
166166
m_EditorClassIdentifier:
167+
enemyBulletObject: {fileID: 7237872901262864553, guid: b04cbf1fe2d66a84e9cea95180270724,
168+
type: 3}
167169
enemySpeed: 0
170+
bulletSpawnDistance: 1
168171
hp: 8

Assets/3-Object-Collision/Prefab/EnemyBullet.prefab

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ GameObject:
1616
- component: {fileID: 5247988854937894316}
1717
m_Layer: 0
1818
m_Name: EnemyBullet
19-
m_TagString: Enemy
19+
m_TagString: EnemyBullet
2020
m_Icon: {fileID: 0}
2121
m_NavMeshLayer: 0
2222
m_StaticEditorFlags: 0
@@ -73,7 +73,7 @@ SpriteRenderer:
7373
m_LightmapParameters: {fileID: 0}
7474
m_SortingLayerID: 0
7575
m_SortingLayer: 0
76-
m_SortingOrder: 0
76+
m_SortingOrder: 1
7777
m_Sprite: {fileID: 1051711902757420442, guid: e5d8490a4ba53464dab043b9325fbdad,
7878
type: 3}
7979
m_Color: {r: 1, g: 1, b: 1, a: 1}

Assets/3-Object-Collision/Prefab/PlayerBullet.prefab

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ GameObject:
1616
- component: {fileID: 7836518504154514815}
1717
m_Layer: 0
1818
m_Name: PlayerBullet
19-
m_TagString: Player
19+
m_TagString: PlayerBullet
2020
m_Icon: {fileID: 0}
2121
m_NavMeshLayer: 0
2222
m_StaticEditorFlags: 0
@@ -73,7 +73,7 @@ SpriteRenderer:
7373
m_LightmapParameters: {fileID: 0}
7474
m_SortingLayerID: 0
7575
m_SortingLayer: 0
76-
m_SortingOrder: 0
76+
m_SortingOrder: 1
7777
m_Sprite: {fileID: -405209267709982187, guid: 9ef5d7e7f3a2e1244a0ec55e275d478e,
7878
type: 3}
7979
m_Color: {r: 1, g: 1, b: 1, a: 1}

Assets/3-Object-Collision/Scripts/BulletMovement.cs

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,64 @@
44

55
public class BulletMovement : MonoBehaviour
66
{
7+
private bool isHit;
8+
private Animator animator;
79
private Rigidbody2D rb;
810
public float bulletSpeed, direction;
911

1012
void Start()
1113
{
14+
isHit = false;
15+
animator = gameObject.GetComponent<Animator>();
1216
rb = gameObject.GetComponent<Rigidbody2D>();
1317
}
1418

1519
void Update()
1620
{
17-
rb.velocity = new Vector2(Mathf.Cos(Mathf.Deg2Rad * direction), Mathf.Sin(Mathf.Deg2Rad * direction)) * bulletSpeed;
21+
if(isHit==false)
22+
{
23+
rb.velocity = new Vector2(Mathf.Cos(Mathf.Deg2Rad * direction), Mathf.Sin(Mathf.Deg2Rad * direction)) * bulletSpeed;
24+
}
1825
}
1926

2027
void OnTriggerEnter2D(Collider2D other)
2128
{
22-
if(other.tag!="Player")
29+
if(isHit == false)
2330
{
24-
Destroy(this.gameObject);
31+
if(this.gameObject.tag == "EnemyBullet")
32+
{
33+
if(other.tag!="Enemy" && other.tag!="PlayerBullet" && other.tag != "EnemyBullet")
34+
{
35+
// Destroy(this.gameObject);
36+
isHit=true;
37+
rb.velocity = Vector2.zero;
38+
animator.SetBool("isHit", isHit);
39+
}
40+
}
41+
if(this.gameObject.tag == "PlayerBullet")
42+
{
43+
if(other.tag!="Player" && other.tag!="EnemyBullet" && other.tag != "PlayerBullet")
44+
{
45+
// Destroy(this.gameObject);
46+
isHit=true;
47+
rb.velocity = Vector2.zero;
48+
animator.SetBool("isHit", isHit);
49+
}
50+
}
2551
}
2652
}
53+
54+
public void DestroyOnDisappear()
55+
{
56+
Destroy(this.gameObject);
57+
}
58+
59+
// void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
60+
// {
61+
// Debug.Break();
62+
// if(stateInfo.IsName("bullet-dis_pl") || stateInfo.IsName("bullet-dis_en"))
63+
// {
64+
// Destroy(this.gameObject);
65+
// }
66+
// }
2767
}

Assets/3-Object-Collision/Scripts/EnemyMovement.cs

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,50 @@
44

55
public class EnemyMovement : MonoBehaviour
66
{
7+
private bool canShoot;
8+
private int shootTimer=0, shootTime;
79
private int enemyDirectionIndex;
810
private Animator animator;
911
private Rigidbody2D rb;
12+
public GameObject enemyBulletObject;
1013
public float enemySpeed;
14+
public float bulletSpawnDistance;
1115
public int hp;
1216
void Start()
1317
{
18+
canShoot = true;
1419
animator = gameObject.GetComponent<Animator>();
1520
rb = gameObject.GetComponent<Rigidbody2D>();
21+
shootTime = Random.Range(30, 90);
1622
}
1723

1824
// Update is called once per frame
1925
void Update()
2026
{
21-
Vector2 enemyToPlayer = new Vector2(GameController.player.transform.position.x-transform.position.x, GameController.player.transform.position.y-transform.position.y).normalized;
22-
enemyDirectionIndex = (int)((((Mathf.Atan2(enemyToPlayer.y, enemyToPlayer.x) * Mathf.Rad2Deg))%360 + 22.5f)/ 45)%8;
23-
27+
if(transform.position.y >=1.5)
28+
{
29+
canShoot=false;
30+
}
31+
Vector3 enemyToPlayer = new Vector3(GameController.player.transform.position.x-transform.position.x, GameController.player.transform.position.y-transform.position.y,0).normalized;
32+
enemyDirectionIndex = (int)(((Mathf.Atan2(enemyToPlayer.y, enemyToPlayer.x) * Mathf.Rad2Deg + 360)%360f + 22.5f)/ 45)%8;
2433
animator.SetInteger("en_directionID", enemyDirectionIndex);
2534
rb.velocity = new Vector2(0, enemySpeed);
35+
36+
shootTimer++;
37+
if(shootTimer >= shootTime && canShoot)
38+
{
39+
Vector3 bulletSpawnPoint = enemyToPlayer.normalized * bulletSpawnDistance + transform.position;
40+
GameObject spawnedPlayerBullet = Instantiate(enemyBulletObject, bulletSpawnPoint, Quaternion.identity);
41+
spawnedPlayerBullet.GetComponent<BulletMovement>().direction = Mathf.Atan2(enemyToPlayer.y, enemyToPlayer.x)*Mathf.Rad2Deg%360f;
42+
spawnedPlayerBullet.GetComponent<BulletMovement>().bulletSpeed = Random.Range(enemySpeed+1f, enemySpeed+3f);
43+
shootTime = Random.Range(30, 90);
44+
shootTimer = 0;
45+
}
2646
}
2747

2848
void OnTriggerEnter2D(Collider2D other)
2949
{
30-
if(other.tag=="Player")
50+
if(other.tag=="PlayerBullet")
3151
{
3252
hp--;
3353
}
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!74 &7400000
4+
AnimationClip:
5+
m_ObjectHideFlags: 0
6+
m_CorrespondingSourceObject: {fileID: 0}
7+
m_PrefabInstance: {fileID: 0}
8+
m_PrefabAsset: {fileID: 0}
9+
m_Name: bullet-dis_en
10+
serializedVersion: 6
11+
m_Legacy: 0
12+
m_Compressed: 0
13+
m_UseHighQualityCurve: 1
14+
m_RotationCurves: []
15+
m_CompressedRotationCurves: []
16+
m_EulerCurves: []
17+
m_PositionCurves: []
18+
m_ScaleCurves: []
19+
m_FloatCurves: []
20+
m_PPtrCurves:
21+
- curve:
22+
- time: 0
23+
value: {fileID: -6220392859116836995, guid: ef62167d3ee55db48bb4fed3f5fbe708,
24+
type: 3}
25+
- time: 0.083333336
26+
value: {fileID: 706240057725508083, guid: ef62167d3ee55db48bb4fed3f5fbe708,
27+
type: 3}
28+
- time: 0.16666667
29+
value: {fileID: 1271542502164394919, guid: ef62167d3ee55db48bb4fed3f5fbe708,
30+
type: 3}
31+
- time: 0.25
32+
value: {fileID: 175219947160232458, guid: ef62167d3ee55db48bb4fed3f5fbe708,
33+
type: 3}
34+
- time: 0.33333334
35+
value: {fileID: -1113912019853516677, guid: ef62167d3ee55db48bb4fed3f5fbe708,
36+
type: 3}
37+
- time: 0.41666666
38+
value: {fileID: 2747420022383735225, guid: ef62167d3ee55db48bb4fed3f5fbe708,
39+
type: 3}
40+
attribute: m_Sprite
41+
path:
42+
classID: 212
43+
script: {fileID: 0}
44+
m_SampleRate: 12
45+
m_WrapMode: 0
46+
m_Bounds:
47+
m_Center: {x: 0, y: 0, z: 0}
48+
m_Extent: {x: 0, y: 0, z: 0}
49+
m_ClipBindingConstant:
50+
genericBindings:
51+
- serializedVersion: 2
52+
path: 0
53+
attribute: 0
54+
script: {fileID: 0}
55+
typeID: 212
56+
customType: 23
57+
isPPtrCurve: 1
58+
pptrCurveMapping:
59+
- {fileID: -6220392859116836995, guid: ef62167d3ee55db48bb4fed3f5fbe708, type: 3}
60+
- {fileID: 706240057725508083, guid: ef62167d3ee55db48bb4fed3f5fbe708, type: 3}
61+
- {fileID: 1271542502164394919, guid: ef62167d3ee55db48bb4fed3f5fbe708, type: 3}
62+
- {fileID: 175219947160232458, guid: ef62167d3ee55db48bb4fed3f5fbe708, type: 3}
63+
- {fileID: -1113912019853516677, guid: ef62167d3ee55db48bb4fed3f5fbe708, type: 3}
64+
- {fileID: 2747420022383735225, guid: ef62167d3ee55db48bb4fed3f5fbe708, type: 3}
65+
m_AnimationClipSettings:
66+
serializedVersion: 2
67+
m_AdditiveReferencePoseClip: {fileID: 0}
68+
m_AdditiveReferencePoseTime: 0
69+
m_StartTime: 0
70+
m_StopTime: 0.5
71+
m_OrientationOffsetY: 0
72+
m_Level: 0
73+
m_CycleOffset: 0
74+
m_HasAdditiveReferencePose: 0
75+
m_LoopTime: 1
76+
m_LoopBlend: 0
77+
m_LoopBlendOrientation: 0
78+
m_LoopBlendPositionY: 0
79+
m_LoopBlendPositionXZ: 0
80+
m_KeepOriginalOrientation: 0
81+
m_KeepOriginalPositionY: 1
82+
m_KeepOriginalPositionXZ: 0
83+
m_HeightFromFeet: 0
84+
m_Mirror: 0
85+
m_EditorCurves: []
86+
m_EulerEditorCurves: []
87+
m_HasGenericRootTransform: 0
88+
m_HasMotionFloatCurves: 0
89+
m_Events:
90+
- time: 0.41666666
91+
functionName: DestroyOnDisappear
92+
data:
93+
objectReferenceParameter: {fileID: 0}
94+
floatParameter: 0
95+
intParameter: 0
96+
messageOptions: 0

Assets/3-Object-Collision/Sprites/bullet-dis_en.anim.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)