Nakikipag-usap ang post na ito sa paglikha ng isang arkanoid o breakout paddle na maaaring mabago ang laki.
Lumilikha ng isang arkanoid / breakout raket
Lumikha ng isang walang laman na GameObject sa hierarchy window na may "Lumikha ng Walang laman" na tinatawag mong DynamicPaddle.
Sa window ng proyekto, lumikha ng isang C # script na tatawagin mong isang sagwan.
Idagdag ito sa Dynamic Paddle. Buksan ang window sa script editor. Bilang default, ito ang Visual Studio.
Ang layunin ay ang sumusunod na script:
paddle ng pampublikong klase: MonoBehaviour nakasaad na ang lahat ay maaaring ma-access ito.
{<–Nagsisimula ang pahayag
float <- Nagsasaad ng mga numero
minSize at maxSize <- tukuyin ang minimum at maximum na laki ng club
resizeSpeed <- ang bilis kung saan binabago ng club ang laki nito
posisyonY <- posisyon ng sagwan
SpriteRenderer <–Ginagawa mong makita ang sagwan. Ang Nag-render ng Sprite idinagdag mo sa pamamagitan ng Unity sa ilalim ng AddComponent. Ang sprite ay ang nauugnay na sprite.
pampubliko -> mahalaga para sa Unity - camera -> uri ng data -> variable na pangalan kung saan magagamit ang camera
myCamera -> kumakatawan sa anumang napiling camera
void Start () -> Subroutine na tinatawag kapag nilikha ang bagay na lumilikha ng script - Nagsisimula ang Subroutine
walang bisa ang Pag-update () -> subroutine ay tinatawag sa bawat frame
Cursor.visible = false <- nagiging invisible ang cursor
sprite = GetComponent (); <- Nakukuha ng programa ang SpriteRenderer mula sa window ng Inspector sa Unity o mula sa bagay upang maipakita ang Sprite, kaya't ginagamit ang sangkap ng bagay
sprite.size = bagong Vector2 (7.5f, sprite.size.y);
sprite.size <- laki ng sprite
bagong Vector2 (7.5f, sprite.size.y); <- bagong vector, na binubuo ng x- at y-halaga - ang x-halaga ay ang paunang dami at ang y-dami ay napanatili
posisyonY = -myCamera.orthographicSize + (sprite.size.y * 0.5f);
posisyonY = posisyon ng sagwan sa Y-axis
-myCamera.orthographicSize <- Sanggunian sa camera at ang laki ng camera
Dahil ang pinagmulan ng aming laro ay nasa gitna ng camera, kapag kinakalkula ang posisyon na Y kailangan naming ibawas ang kalahati ng laki ng camera (ngayon ang sagwan ay nasa mas mababang gilid ng screen) at idagdag ang taas ng sagwan dito .
float sizeX = sprite.size.x; <- Ang laki ng sagwan at laki ng sprite ay magkapareho
sizeX + = Input.GetAxisRaw ("Mouse ScrollWheel") * resizeSpeed; <–Ang laki ng X ay tinukoy ng x = x + 1 at naiimpluwensyahan ng laki ng gulong ng mouse, na pinarami ng bilis kung saan binabago ng sagwan ang laki
sizeX = Mathf.Clamp(sizeX, minSize, maxSize);
Ang laki ng X ay naayos na may sukat X sa pagitan ng pinakamaliit at pinakamalaking halaga. Ang halaga ay hindi maaaring maging mas maliit o mas malaki kaysa sa min. At max. Halaga.
sprite.size = bagong Vector2 (sizeX, sprite.size.y);
Ang laki ng sprite ay tinukoy ng bagong Vector2, na binubuo ng x at y halaga ng sprite.
Vector 3 mousePosition = myCamera.ScreenToWorldPoint (Input.mousePosition);
Ang Vector 3 ay ang posisyon ng mouse. Ito ay tumutugma sa posisyon ng camera at kung paano ito nakadirekta patungo sa mundo ng laro. Ang camera ay batay sa posisyon ng mouse. Gamit ang ScreenToWorldPoint, ang Vector ay nabago mula sa posisyon ng screen (posisyon ng screen) patungo sa posisyon ng mundo (posisyon sa mundo ng laro).
transform.position = newVector3 (mouseposition.x, posisyonY);
Ang pagbabago sa posisyon ng sagwan ay tumutugma sa Vector3, na binubuo ng mga posisyon ng mouse x at Y.
Kailangan mo rin ang tamang sprite kung saan mo ikinakabit ang script. Pagkatapos ang paddle ay lilitaw sa screen.
Orihinal na nai-post 2019-11-23 21:45:00.