Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
GameDevWeek
Wintersemester 2018-2019
Unity
Suck It
Commits
215476b2
Commit
215476b2
authored
Mar 26, 2019
by
Unknown
Browse files
Charakter Movement Controller
Simple Bewegungskontrolle des Charakters
parent
72d3c154
Changes
8
Hide whitespace changes
Inline
Side-by-side
Assets/
Neuer Ordn
er.meta
→
Assets/
_Game/Prefabs/Play
er.meta
View file @
215476b2
fileFormatVersion: 2
guid:
83b2ccd8caab22846876189bc6815151
guid:
29e650dd7547f494481645632a1c9bd7
folderAsset: yes
DefaultImporter:
externalObjects: {}
...
...
Assets/_Game/Prefabs/Player/Player.prefab
0 → 100644
View file @
215476b2
%YAML
1.1
%TAG
!u!
tag:unity3d.com,2011:
---
!u!1
&52145075018362288
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
52145075018362285
}
-
component
:
{
fileID
:
52145075018362290
}
-
component
:
{
fileID
:
2055293003418080559
}
-
component
:
{
fileID
:
52145075018362291
}
-
component
:
{
fileID
:
52145075018362284
}
-
component
:
{
fileID
:
52145075018362287
}
m_Layer
:
0
m_Name
:
Player
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!4
&52145075018362285
Transform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!212
&52145075018362290
SpriteRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_Enabled
:
1
m_CastShadows
:
0
m_ReceiveShadows
:
0
m_DynamicOccludee
:
1
m_MotionVectors
:
1
m_LightProbeUsage
:
1
m_ReflectionProbeUsage
:
1
m_RenderingLayerMask
:
1
m_RendererPriority
:
0
m_Materials
:
-
{
fileID
:
10754
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_StaticBatchInfo
:
firstSubMesh
:
0
subMeshCount
:
0
m_StaticBatchRoot
:
{
fileID
:
0
}
m_ProbeAnchor
:
{
fileID
:
0
}
m_LightProbeVolumeOverride
:
{
fileID
:
0
}
m_ScaleInLightmap
:
1
m_PreserveUVs
:
0
m_IgnoreNormalsForChartDetection
:
0
m_ImportantGI
:
0
m_StitchLightmapSeams
:
0
m_SelectedEditorRenderState
:
0
m_MinimumChartSize
:
4
m_AutoUVMaxDistance
:
0.5
m_AutoUVMaxAngle
:
89
m_LightmapParameters
:
{
fileID
:
0
}
m_SortingLayerID
:
0
m_SortingLayer
:
0
m_SortingOrder
:
0
m_Sprite
:
{
fileID
:
10911
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_Color
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_FlipX
:
0
m_FlipY
:
0
m_DrawMode
:
0
m_Size
:
{
x
:
0.16
,
y
:
0.16
}
m_AdaptiveModeThreshold
:
0.5
m_SpriteTileMode
:
0
m_WasSpriteAssigned
:
1
m_MaskInteraction
:
0
m_SpriteSortPoint
:
0
---
!u!114
&2055293003418080559
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
15fda2365f7374bbcbe2fb649e0be47b
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
---
!u!114
&52145075018362291
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
e310ba2b65602490894409ff217e2731
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Speed
:
10
m_JumpForce
:
100
m_MovementSmoothing
:
0.05
m_AirControl
:
1
m_WhatIsGround
:
serializedVersion
:
2
m_Bits
:
512
m_GroundCheck
:
{
fileID
:
52145075018362285
}
m_MaxJumpCount
:
1
OnLandEvent
:
m_PersistentCalls
:
m_Calls
:
[]
m_TypeName
:
UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
---
!u!50
&52145075018362284
Rigidbody2D
:
serializedVersion
:
4
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_BodyType
:
0
m_Simulated
:
1
m_UseFullKinematicContacts
:
0
m_UseAutoMass
:
0
m_Mass
:
1
m_LinearDrag
:
0
m_AngularDrag
:
0.05
m_GravityScale
:
1
m_Material
:
{
fileID
:
0
}
m_Interpolate
:
0
m_SleepingMode
:
1
m_CollisionDetection
:
0
m_Constraints
:
4
---
!u!61
&52145075018362287
BoxCollider2D
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_Enabled
:
1
m_Density
:
1
m_Material
:
{
fileID
:
0
}
m_IsTrigger
:
0
m_UsedByEffector
:
0
m_UsedByComposite
:
0
m_Offset
:
{
x
:
0
,
y
:
0
}
m_SpriteTilingProperty
:
border
:
{
x
:
0.049999997
,
y
:
0.049999997
,
z
:
0.049999997
,
w
:
0.049999997
}
pivot
:
{
x
:
0.5
,
y
:
0.5
}
oldSize
:
{
x
:
0.16
,
y
:
0.16
}
newSize
:
{
x
:
0.16
,
y
:
0.16
}
adaptiveTilingThreshold
:
0.5
drawMode
:
0
adaptiveTiling
:
0
m_AutoTiling
:
0
serializedVersion
:
2
m_Size
:
{
x
:
0.16
,
y
:
0.16
}
m_EdgeRadius
:
0
Assets/_Game/Prefabs/Player/Player.prefab.meta
0 → 100644
View file @
215476b2
fileFormatVersion: 2
guid: 2e3528907311e438dab0d393127aa332
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Assets/_Game/Scenes/DemoScenePlayerControls.unity
View file @
215476b2
...
...
@@ -194,159 +194,6 @@ Transform:
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&754698445
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
754698448
}
-
component
:
{
fileID
:
754698447
}
-
component
:
{
fileID
:
754698446
}
-
component
:
{
fileID
:
754698449
}
-
component
:
{
fileID
:
754698450
}
m_Layer
:
0
m_Name
:
Player
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!114
&754698446
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
e310ba2b65602490894409ff217e2731
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_JumpForce
:
400
m_MovementSmoothing
:
0.05
m_AirControl
:
0
m_WhatIsGround
:
serializedVersion
:
2
m_Bits
:
513
m_GroundCheck
:
{
fileID
:
754698448
}
OnLandEvent
:
m_PersistentCalls
:
m_Calls
:
[]
m_TypeName
:
UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
---
!u!212
&754698447
SpriteRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_Enabled
:
1
m_CastShadows
:
0
m_ReceiveShadows
:
0
m_DynamicOccludee
:
1
m_MotionVectors
:
1
m_LightProbeUsage
:
1
m_ReflectionProbeUsage
:
1
m_RenderingLayerMask
:
1
m_RendererPriority
:
0
m_Materials
:
-
{
fileID
:
10754
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_StaticBatchInfo
:
firstSubMesh
:
0
subMeshCount
:
0
m_StaticBatchRoot
:
{
fileID
:
0
}
m_ProbeAnchor
:
{
fileID
:
0
}
m_LightProbeVolumeOverride
:
{
fileID
:
0
}
m_ScaleInLightmap
:
1
m_PreserveUVs
:
0
m_IgnoreNormalsForChartDetection
:
0
m_ImportantGI
:
0
m_StitchLightmapSeams
:
0
m_SelectedEditorRenderState
:
0
m_MinimumChartSize
:
4
m_AutoUVMaxDistance
:
0.5
m_AutoUVMaxAngle
:
89
m_LightmapParameters
:
{
fileID
:
0
}
m_SortingLayerID
:
0
m_SortingLayer
:
0
m_SortingOrder
:
0
m_Sprite
:
{
fileID
:
10911
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_Color
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_FlipX
:
0
m_FlipY
:
0
m_DrawMode
:
0
m_Size
:
{
x
:
0.16
,
y
:
0.16
}
m_AdaptiveModeThreshold
:
0.5
m_SpriteTileMode
:
0
m_WasSpriteAssigned
:
1
m_MaskInteraction
:
0
m_SpriteSortPoint
:
0
---
!u!4
&754698448
Transform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0.148
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!50
&754698449
Rigidbody2D
:
serializedVersion
:
4
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_BodyType
:
0
m_Simulated
:
1
m_UseFullKinematicContacts
:
0
m_UseAutoMass
:
0
m_Mass
:
1
m_LinearDrag
:
0
m_AngularDrag
:
0.05
m_GravityScale
:
0
m_Material
:
{
fileID
:
0
}
m_Interpolate
:
0
m_SleepingMode
:
1
m_CollisionDetection
:
0
m_Constraints
:
4
---
!u!61
&754698450
BoxCollider2D
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_Enabled
:
1
m_Density
:
1
m_Material
:
{
fileID
:
0
}
m_IsTrigger
:
0
m_UsedByEffector
:
0
m_UsedByComposite
:
0
m_Offset
:
{
x
:
0
,
y
:
0
}
m_SpriteTilingProperty
:
border
:
{
x
:
0.049999997
,
y
:
0.049999997
,
z
:
0.049999997
,
w
:
0.049999997
}
pivot
:
{
x
:
0.5
,
y
:
0.5
}
oldSize
:
{
x
:
0.16
,
y
:
0.16
}
newSize
:
{
x
:
0.16
,
y
:
0.16
}
adaptiveTilingThreshold
:
0.5
drawMode
:
0
adaptiveTiling
:
0
m_AutoTiling
:
0
serializedVersion
:
2
m_Size
:
{
x
:
0.16
,
y
:
0.16
}
m_EdgeRadius
:
0
---
!u!1
&924553758
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -621,13 +468,13 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1589010598
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0.
38941705
,
w
:
0.9210615
}
m_LocalPosition
:
{
x
:
-
2.09
,
y
:
0.85
,
z
:
0
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0.
5450903
,
w
:
0.8383773
}
m_LocalPosition
:
{
x
:
-
1.733
,
y
:
1.044
,
z
:
0
}
m_LocalScale
:
{
x
:
2.5
,
y
:
0.1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
4
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
-
45.837
}
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
-
66.062004
}
---
!u!1
&1796083272
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -734,3 +581,72 @@ Transform:
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
3
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1001
&52145074690762109
PrefabInstance
:
m_ObjectHideFlags
:
0
serializedVersion
:
2
m_Modification
:
m_TransformParent
:
{
fileID
:
0
}
m_Modifications
:
-
target
:
{
fileID
:
52145075018362288
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_Name
value
:
Player
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalPosition.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalPosition.y
value
:
1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalPosition.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalRotation.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalRotation.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalRotation.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalRotation.w
value
:
1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_RootOrder
value
:
2
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.z
value
:
0
objectReference
:
{
fileID
:
0
}
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
Assets/_Game/Scripts/Player/InputController.cs
0 → 100644
View file @
215476b2
using
System.Collections
;
using
System.Collections.Generic
;
using
UnityEngine
;
[
RequireComponent
(
typeof
(
MovementController
))]
public
class
InputController
:
MonoBehaviour
{
private
MovementController
m_Controller
;
private
float
m_XAxis
,
m_YAxis
;
private
bool
m_Jump
=
false
;
void
Start
()
{
//Sucht nach MovementController auf dem selben Gameobject
m_Controller
=
GetComponent
<
MovementController
>();
}
void
FixedUpdate
(){
//Simples abfragen der Inputs
m_XAxis
=
Input
.
GetAxis
(
"Horizontal"
);
m_YAxis
=
Input
.
GetAxis
(
"Vertical"
);
m_Jump
=
Input
.
GetKeyDown
(
KeyCode
.
Space
)
||
Input
.
GetKeyDown
(
KeyCode
.
UpArrow
)
||
Input
.
GetKeyDown
(
KeyCode
.
W
);
//Ruft Move Methode im MovementController auf dient der Bewegung des Charakters
m_Controller
.
Move
(
new
Vector2
(
m_XAxis
,
m_YAxis
),
m_Jump
);
}
}
\ No newline at end of file
Assets/_Game/Scripts/Player/InputController.cs.meta
0 → 100644
View file @
215476b2
fileFormatVersion: 2
guid: 15fda2365f7374bbcbe2fb649e0be47b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
Assets/_Game/Scripts/Player/MovementController.cs
View file @
215476b2
...
...
@@ -3,114 +3,95 @@ using System.Collections.Generic;
using
UnityEngine
;
using
UnityEngine.Events
;
[
RequireComponent
(
typeof
(
Rigidbody2D
),
typeof
(
BoxCollider2D
))]
public
class
MovementController
:
MonoBehaviour
{
[
SerializeField
]
private
float
m_JumpForce
=
400f
;
// Amount of force added when the player jumps.
[
Range
(
0
,
.
3f
)]
[
SerializeField
]
private
float
m_MovementSmoothing
=
.
05f
;
// How much to smooth out the movement
[
SerializeField
]
private
bool
m_AirControl
=
false
;
// Whether or not a player can steer while jumping;
[
SerializeField
]
private
LayerMask
m_WhatIsGround
;
// A mask determining what is ground to the character
[
SerializeField
]
private
Transform
m_GroundCheck
;
// A position marking where to check if the player is grounded.
[
SerializeField
]
private
float
m_Speed
=
10f
;
[
SerializeField
]
private
float
m_JumpForce
=
400f
;
// Amount of force added when the player jumps.
[
Range
(
0
,
.
3f
)][
SerializeField
]
private
float
m_MovementSmoothing
=
.
05f
;
// How much to smooth out the movement
[
SerializeField
]
private
bool
m_AirControl
=
false
;
// Whether or not a player can steer while jumping;
[
SerializeField
]
private
LayerMask
m_WhatIsGround
;
// A mask determining what is ground to the character
[
SerializeField
]
private
Transform
m_GroundCheck
;
// A position marking where to check if the player is grounded.
[
SerializeField
]
private
int
m_MaxJumpCount
=
1
;
const
float
k_GroundedRadius
=
.
2f
;
// Radius of the overlap circle to determine if grounded
private
bool
m_Grounded
;
// Whether or not the player is grounded.
private
bool
m_Grounded
;
// Whether or not the player is grounded.
private
bool
m_Airborn
;
private
Rigidbody2D
m_Rigidbody2D
;
private
bool
m_FacingRight
=
true
;
// For determining which way the player is currently facing.
private
bool
m_FacingRight
=
true
;
// For determining which way the player is currently facing.
private
Vector3
m_Velocity
=
Vector3
.
zero
;
private
int
m_TempJumpCount
=
0
;
private
RaycastHit2D
[]
m_Hits
;
private
ContactFilter2D
m_filter2d
;
private
Vector2
m_groundNormal
;
[
Header
(
"Events"
)]
[
Header
(
"Events"
)]
[
Space
]
//Wird Aktiviert wenn Spieler Landet
public
UnityEvent
OnLandEvent
;
private
void
Awake
()
{
m_Rigidbody2D
=
GetComponent
<
Rigidbody2D
>();
public
float
GravityModifier
{
set
=>
m_Rigidbody2D
.
gravityScale
=
value
;
}
m_filter2d
.
SetLayerMask
(
m_WhatIsGround
);
private
void
Awake
()
{
m_Rigidbody2D
=
GetComponent
<
Rigidbody2D
>
();
if
(
OnLandEvent
==
null
)
OnLandEvent
=
new
UnityEvent
();
OnLandEvent
=
new
UnityEvent
();
}
private
void
Update
(){
}
private
void
Update
()
{
}
private
void
FixedUpdate
()
{
private
void
FixedUpdate
()
{
bool
wasGrounded
=
m_Grounded
;
m_Grounded
=
false
;
/*
// The player is grounded if a circlecast to the groundcheck position hits anything designated as ground
// The player is grounded if a circlecast to the groundcheck position hits anything designated as ground
// This can be done using layers instead but Sample Assets will not overwrite your project settings.
Collider2D[] colliders = Physics2D.OverlapCircleAll(m_GroundCheck.position, k_GroundedRadius, m_WhatIsGround);
for (int i = 0; i < colliders.Length; i++)
{
if (colliders[i].gameObject != gameObject)
{
Collider2D
[]
colliders
=
Physics2D
.
OverlapCircleAll
(
m_GroundCheck
.
position
,
k_GroundedRadius
,
m_WhatIsGround
);
for
(
int
i
=
0
;
i
<
colliders
.
Length
;
i
++)
{
if
(
colliders
[
i
].
gameObject
!=
gameObject
)
{
m_Grounded
=
true
;
if (!wasGrounded)
OnLandEvent.Invoke();
m_TempJumpCount
=
m_MaxJumpCount
;
if
(!
wasGrounded
)
OnLandEvent
.
Invoke
();
}
} */
m_Hits
=
new
RaycastHit2D
[
16
];
Physics2D
.
Raycast
(
m_GroundCheck
.
position
,
Vector2
.
down
,
m_filter2d
,
m_Hits
);
for
(
int
i
=
0
;
i
<
m_Hits
.
Length
;
i
++){
if
(
m_Hits
[
i
].
transform
==
null
||
m_Hits
[
i
].
transform
.
gameObject
==
gameObject
)
continue
;
m_Grounded
=
true
;
m_groundNormal
=
m_Hits
[
i
].
normal
;
}
//Debug.Log(m_Grounded);
float
x
=
Input
.
GetAxis
(
"Horizontal"
);
Move
(
x
*
10f
*
Time
.
deltaTime
,
false
,
false
);
}
public
void
Move
(
float
move
,
bool
crouch
,
bool
jump
)
{
public
void
Move
(
Vector2
move
,
bool
jump
)
{
//only control the player if grounded or airControl is turned on
if
(
m_Grounded
||
m_AirControl
)
{
if
(
m_Grounded
||
m_AirControl
)
{
Vector2
dir
=
new
Vector2
(
m_groundNormal
.
y
,
-
m_groundNormal
.
x
);