Professional Documents
Culture Documents
Unity C Sharp General Diary: Diệp Khai - Ryu
Unity C Sharp General Diary: Diệp Khai - Ryu
Unity C Sharp General Diary: Diệp Khai - Ryu
Unity C Sharp
GENERAL DIARY
Tập 7
th
6 April, 2024, Thứ Bảy, một cháu
học sinh của vợ bị ngã sước gối,
chạy lên cầu cứu… gã lấy một miếng
Ê Gâu dán cho cháu, Beo ngại bạn
chùm chăn trốn, Ỉn mải chơi điện
thoại ngủ quên… sáng ngủ gần 11h
2
dậy trời năng nắng, ra Bình Chung
làm suất bún chả thường, rồi về nhà
lại đi mua ớt tươi, dưa bắp cải và ớt
chai chin su… ăn được ít cơm… hơi
nản vì chuyện bà nói về việc gã chưa
làm nên cơm cháo gì, suốt ngày nã
tiền vợ… rồi thì cũng lại đi Gym, vợ
thì đi sang Bát Tràng mua mấy cái lọ,
bình cắm hoa, rồi gã đánh ghi-ta, vẽ
vài tranh Sôn Gô Ku đánh ngã Kri
Lin trên võ đài… nói chung nhiều
chuyện… lúc ở phòng Gym thì thấy
chú Phong Nhã Vân phóng xe máy
đi lượn phố đi đâu đấy, gã cũng
không nắm chắc lắm… phòng Gym
3
bố trí lại cũng khác, chưa quen lắm,
dụng cụ hôm nay gã tập cũng một
tua ba tầng… người hơi oải, nhưng
tập vào thấy khỏe hơn…
Đi bơi Sông về còn đi ăn mỳ vằn
thắn, bác chủ quán còn nhắc về việc
cẩn thận cái xe đạp, không kẻ xấu nó
bẻ khóa và khênh đi mất…
4
Current - Previvous > 0: Move Right:
is Facing true
iSwitchDirection dùng để đổi chiều đạn
*/
void UpdatePositionAndMovingState()
{
previousPosition = currentPosition;
currentPosition = transform.position;
if (currentPosition ==
previousPosition)
{
isMoving = false;
}
else
if(currentPosition.x -
previousPosition.x > 0)
{
isMoving = true;
isFacingRight = true;
iSwitchDirection = 1;
}
else
if (currentPosition.x -
previousPosition.x < 0)
{
isMoving = true;
isFacingRight = false;
5
iSwitchDirection = -1;
}
void AutoActivateSkillEnergy_Water_Core()
{
if
(skillEnergy_Water_Core_bIsActivated)
{
skillEnergy_Water_Core_fDelay -=
Time.deltaTime;
if
(skillEnergy_Water_Core_fDelay <= 0)
skillEnergy_Water_Core_bIsActivated =
false;
}
if
(!skillEnergy_Water_Core_bIsActivated &&
skillEnergy_Water_Core_fDelay <= 0)
{
skillEnergy_Water_Core_bIsActivated =
true;
6
skillEnergy_Water_Core_fDelay =
skillEnergy_Water_Core_fDelay_Default;
//BẮN CHƯỞNG
GameObject
skillEnergy_TemporaryObject_Core =
Instantiate(skillEnergy_Water_Core,
rb.position + Vector2.right *
iSwitchDirection, Quaternion.identity);
Rigidbody2D rbTemp =
skillEnergy_TemporaryObject_Core.GetCompo
nent<Rigidbody2D>();
SpriteRenderer spriteTemp =
skillEnergy_TemporaryObject_Core.GetCompo
nent<SpriteRenderer>();
if (!isFacingRight)
{
spriteTemp.flipX = true;
skillEnergy_TemporaryObject_Core.GetCompo
nent<SpriteRenderer>().flipX = true;
}
rbTemp.AddForce(Vector2.right *
iSwitchDirection *
skillEnergy_Water_Core_fAttack_Force_Defa
ult, ForceMode2D.Impulse);
Destroy(skillEnergy_TemporaryObject_Core,
7
skillEnergy_Water_Core_fVisibleTime_Defau
lt);
9
Những cố gắng chừng như muốn
đứt cả dây thần kinh cố gắng, chỉ
chờ một tiếng phựt một cái là gã đi
đời nhà ma...
10
Review Script Core
Projectile
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
Rigidbody2D objRigidbody2d;
const float PROJECTILE_MAXIMUM_DISTANCE = 1000.0f;
const float PROJECTILE_VISIBLETIME_AFTER_COLLISION
= 0.1f;
const float EXPLOSION_VISIBLE_TIME = 1f;
public float fExplosionVisibleTime;
public float fMaxDistanceTravel;
private float fDistanceTraveled = 0f;
private Vector2 vector2StartingPosition;
// Prefab của hiệu ứng nổ thêm vào từ Unity Editor,
Tab Inspector
public GameObject
explosionPrefabAddYourExplosionEffectHerePlease;
void Awake()
{
objRigidbody2d = GetComponent<Rigidbody2D>();
fExplosionVisibleTime = EXPLOSION_VISIBLE_TIME;
fMaxDistanceTravel =
PROJECTILE_MAXIMUM_DISTANCE;
11
vector2StartingPosition = transform.position;
LƯU Ý Random.Range
Declaration
public static float Range(float minInclusive, float maxInclusive);
Declaration
public static int Range(int minInclusive, int maxExclusive);
Description
13
THÊM CHIÊU LỬA CHO PI
CÔ LÔ
//-------------------------------------------
//---CHIÊU BĂNG CƠ BẢN - HỎA CÔNG
//ÔN TẬP NGÀY 7, tháng 4, 2024, CHỦ NHẬT
//-------------------------------------------
14
bool skillEnergy_Fire_Core_bIsActivated =
false;
float skillEnergy_Fire_Core_fDelay = 0f;
float skillEnergy_Fire_Core_fDelay_Default =
2f;
float
skillEnergy_Fire_Core_fAttack_Force_Default =
3200f;
float
skillEnergy_Fire_Core_fVisibleTime_Default = 3f;
//--------------------
//AUTO FIRE SKILL ENERGY
//-------------------
void AutoActivateSkillEnergy_Fire_Core()
{
if (skillEnergy_Fire_Core_bIsActivated)
{
skillEnergy_Fire_Core_fDelay -=
Time.deltaTime;
if (skillEnergy_Fire_Core_fDelay <= 0)
skillEnergy_Fire_Core_bIsActivated =
false;
15
if (!skillEnergy_Fire_Core_bIsActivated &&
skillEnergy_Fire_Core_fDelay <= 0)
{
skillEnergy_Fire_Core_bIsActivated =
true;
skillEnergy_Fire_Core_fDelay =
skillEnergy_Fire_Core_fDelay_Default;
//BẮN CHƯỞNG
GameObject
skillEnergy_TemporaryObject_Core =
Instantiate(skillEnergy_Fire_Core,
rb.position + Vector2.right *
iSwitchDirection, Quaternion.identity);
Rigidbody2D rbTemp =
skillEnergy_TemporaryObject_Core.GetComponent<Ri
gidbody2D>();
SpriteRenderer spriteTemp =
skillEnergy_TemporaryObject_Core.GetComponent<Sp
riteRenderer>();
if (!isFacingRight)
{
spriteTemp.flipX = true;
skillEnergy_TemporaryObject_Core.GetComponent<Sp
riteRenderer>().flipX = true;
}
rbTemp.AddForce(Vector2.right *
iSwitchDirection *
skillEnergy_Fire_Core_fAttack_Force_Default,
ForceMode2D.Impulse);
Destroy(skillEnergy_TemporaryObject_Core,
skillEnergy_Fire_Core_fVisibleTime_Default);
16
}
AutoActivateSkillEnergy_Water_Core();
Debug.Log("WATER");
break;
case 1:
Debug.Log("FIRE");
AutoActivateSkillEnergy_Fire_Core();
break;
}
17
CHỈNH SLIDER TRÊN ĐẦU
DIỆP KHAI
[Header("Slider Health Bar Trên Đầu Nhân Vật")]
[Space(10)]
[SerializeField] Slider sliderHealthAboveHead;
void UpdateInfoCanvas()
{
sliderHealth.value = fHealth_Core_Current /
fHealth_Core_Max;
sliderEnergy.value = fEnergy_Core_Current /
fEnergy_Core_Max;
sliderStrength.value = fStrength_Core_Current /
fStrength_Core_Max;
sliderHealthAboveHead.value = sliderHealth.value;
textMeshProUGUI_Experience.text =
fExperience_Core_Current + "/" + fExperience_Core_Max;
textMeshProUGUI_Health.text =
fHealth_Core_Current +"/"+fHealth_Core_Max;
textMeshProUGUI_Energy.text =
fEnergy_Core_Current +"/"+fEnergy_Core_Max;
textMeshProUGUI_Strength.text =
fStrength_Core_Current +"/"+fStrength_Core_Max;
Vợ Bảo 20/04 thì Khoa Vợ Đi Họp Ở Hồ Núi Cốc… Điện Thoại GAMING ASUS ROG ................................. 2
18
Review Script Core Projectile .............................................................................................................................. 11
19