首頁 科技週邊 IT業界 建立UI和遊戲玩法的乒乓球克隆

建立UI和遊戲玩法的乒乓球克隆

Feb 19, 2025 am 11:30 AM

>本教程增強了建立在團結的基本基本克隆,添加了經典的兩個美學,改進的遊戲機制和復古風格的UI。 讓我們升級我們的乒乓球!

>

第2部分:Retro Revamp&Enhanced Gameplay

>

>本教程建立在先前的乒乓球上。 從Github下載項目或在繼續之前完成第1部分。 還可以使用工作的演示和最終改進的遊戲。

>

密鑰改進:

  • 經典樣式:進口黑色和白色精靈,對真實復古視覺效果調整單位像素(至64)。將主攝像頭背景更改為黑色,並相應地更新槳和球精靈。使用多個縮放的白色精靈創建一個中央分隔線。
  • 增強的碰撞:完善球碰撞處理以計算槳的衝擊角度,從而使彈跳更加現實。 這涉及更新BallController腳本的OnCollisionEnter2D方法以使用launchAngle>函數。請記住適當地標記玩家和敵人槳。
  • 改善了敵人的AI:使用基於時間的計算,增強響應能力和挑戰。修改腳本以使用EnemyController,調整速度和時機以獲得最佳平滑度。 添加邊界以防止AI槳在屏幕上脫離。 InvokeRepeating("Move", .02F, .02F)腳本應在銷毀球後重置敵方槳的位置。 BoundsController
  • 復古暫停菜單:
  • 使用自定義像素字體(如絲線屏幕)創建暫停菜單。包括具有適當功能的“重置”和“主菜單”按鈕。 >腳本管理暫停和恢復,並顯示/隱藏暫停菜單元素。 確保用“ Showonpause”標記暫停菜單元素。 > UIManager>
  • >動態主菜單:
  • 在後台設計帶有模擬AI遊戲的主菜單。 複製主遊戲場景,刪除不必要的元素,並添加標題和“播放”按鈕。使用>和腳本(類似於敵人AI,但對速度和時機進行調整)來控制主菜單中的AI槳。 AutoPlayer> AutoEnemy評分系統:
  • 實現一個跟踪播放器和AI得分的評分系統,在UI上顯示它們(使用腳本),並在得分限制時結束遊戲(例如,7分達到),在屏幕上顯示遊戲。
  • >腳本顯示獲勝者。 切記用“ showonfinish”元素標記遊戲。 PointCounterGameOver

代碼片段:Building a Pong Clone in Unity: UI and Gameplay

(ballcontroller.cs- oncollisionEnter2d&啟動angle)

void OnCollisionEnter2D(Collision2D col) {
    if (col.gameObject.tag == "Enemy") {
        float y = launchAngle(transform.position, col.transform.position, col.collider.bounds.size.y);
        Vector2 d = new Vector2(1, y).normalized;
        rig2D.velocity = d * speed * 1.5F;
    }
    if (col.gameObject.tag == "Player") {
        float y = launchAngle(transform.position, col.transform.position, col.collider.bounds.size.y);
        Vector2 d = new Vector2(-1, y).normalized;
        rig2D.velocity = d * speed * 1.5F;
    }
}

float launchAngle(Vector2 ball, Vector2 paddle, float paddleHeight) {
    return (ball.y - paddle.y) / paddleHeight;
}
登入後複製

(eneycontroller.cs-移動)

void Move() {
    if (ball == null) {
        ball = GameObject.FindGameObjectWithTag("Ball").transform;
    }
    ballRig2D = ball.GetComponent<Rigidbody2D>();
    if (ballRig2D.velocity.x > 0) {
        if (ball.position.y > this.transform.position.y + .5F) {
            transform.Translate(Vector3.up * speed * Time.deltaTime);
        } else if (ball.position.y < this.transform.position.y - .5F) {
            transform.Translate(Vector3.down * speed * Time.deltaTime);
        }
    }
    // ... bounds checking ...
}
登入後複製

(uimanager.cs- partial)

// ... other methods ...

public void showFinished() {
    foreach (GameObject g in finishObjects) {
        g.SetActive(true);
    }
}

// ... other methods ...
登入後複製

void Update () {
    text.text = rightBound.GetComponent<BoundController>().enemyScore + "\t\t" +
                leftBound.GetComponent<BoundController>().playerScore;
}
登入後複製

(gameover.cs)

>
void Update () {
    if(uiManager.playerWon){
        text.text = "GAME OVER!\nPLAYER WON!";
    } else if(uiManager.enemyWon){
        text.text = "GAME OVER!\nENEMY WON!";
    }
}
登入後複製

記住在AI腳本中調整速度和計時等值以微調遊戲難度。 這種增強的乒乓球可提供更完整,更具吸引力的複古遊戲體驗。 GitHub鏈接(輸入中未提供)將包含完整的項目文件。

以上是建立UI和遊戲玩法的乒乓球克隆的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
CNCF ARM64飛行員:影響和見解 CNCF ARM64飛行員:影響和見解 Apr 15, 2025 am 08:27 AM

該試點程序是CNCF(雲本機計算基礎),安培計算,Equinix金屬和驅動的合作,簡化了CNCF GitHub項目的ARM64 CI/CD。 該計劃解決了安全問題和績效

使用AWS ECS和LAMBDA的無服務器圖像處理管道 使用AWS ECS和LAMBDA的無服務器圖像處理管道 Apr 18, 2025 am 08:28 AM

該教程通過使用AWS服務來指導您通過構建無服務器圖像處理管道。 我們將創建一個部署在ECS Fargate群集上的next.js前端,與API網關,Lambda函數,S3桶和DynamoDB進行交互。 Th

21個開發人員新聞通訊將在2025年訂閱 21個開發人員新聞通訊將在2025年訂閱 Apr 24, 2025 am 08:28 AM

與這些頂級開發人員新聞通訊有關最新技術趨勢的了解! 這個精選的清單為每個人提供了一些東西,從AI愛好者到經驗豐富的後端和前端開發人員。 選擇您的收藏夾並節省時間搜索REL

See all articles