Contents

วิธีโหลดแบบอักษรและเอฟเฟกต์ข้อความที่กำหนดเองใน Pygame

สุนทรียศาสตร์มีบทบาทสำคัญในการพัฒนาเกม รายละเอียดเล็กๆ น้อยๆ อาจส่งผลต่อการที่เกมของคุณดึงดูดความสนใจของผู้เล่นและทำให้พวกเขาเข้าสู่โลกของเกมได้ดีเพียงใด แบบอักษรและเอฟเฟกต์ข้อความแบบกำหนดเองช่วยให้คุณสามารถใส่บุคลิกและสไตล์ลงในอินเทอร์เฟซ บทสนทนา และองค์ประกอบ HUD ของเกมได้

พิจารณาใช้แบบอักษรที่ปรับแต่งและลักษณะการพิมพ์ที่โดดเด่นเพื่อยกระดับการสร้างสรรค์ของคุณ ไม่ว่าจะเป็นการหลบหนีที่น่าตื่นเต้น ความท้าทายที่ลึกลับ หรือประเภทอื่น ๆ ที่คุณเลือก เนื่องจากสิ่งเหล่านี้มีศักยภาพที่จะเติมชีวิตชีวาให้กับงานของคุณ ก้าวข้ามแก่นแท้ของสิ่งธรรมดาและกระตุ้นความสนใจ ของผู้เล่น

สร้างเกม 2D ง่ายๆ

ก่อนที่จะเริ่มเข้าสู่ขอบเขตของการออกแบบตัวอักษรและกราฟิกเฉพาะตัว จะต้องระมัดระวังในการสร้างกรอบการทำงานพื้นฐานสำหรับประสบการณ์เกมสองมิติ เพื่อแสดงให้เห็นแนวคิดนี้ เราจะพัฒนาหน้าจอไตเติ้ลที่เรียบง่ายซึ่งมีการเคลื่อนไหวของผู้เล่นโดยใช้ความสามารถของ Pygame

ซอร์สโค้ดที่ใช้ในงานชิ้นนี้สามารถเข้าถึงได้ผ่านพื้นที่เก็บข้อมูล GitHub สาธารณะ และอนุญาตให้คุณกำจัดได้โดยเสรีภายใต้เงื่อนไขของใบอนุญาต MIT

เพื่อเริ่มต้นประสบการณ์การเล่นเกม ให้สร้างหน้าต่างแสดงเกมโดยใช้ฟังก์ชัน pygame.display.set\_mode() ของไลบรารี Python นอกจากนี้ คุณยังมีตัวเลือกในการกำหนดชื่อเรื่องให้กับหน้าต่างโดยใช้เมธอด pygame.display.set\_caption() ของ Pygame

 import pygame
pygame.init()

# Set up display
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("My Pygame Adventure")

เพื่อเริ่มการเล่นเกม ให้สร้างอินสแตนซ์ของวัตถุ Pygame Rect ภายในคลาสผู้เล่น คลาส Pygame Rect ทำหน้าที่เป็นการนำเสนอทางเรขาคณิตของรูปร่างเป็นเส้นตรง เหมาะสำหรับการวาดภาพเอนทิตีของวิดีโอเกม เช่น อวตารหรือสิ่งกีดขวางภายในสภาพแวดล้อมสองมิติ

 # Initialize player
player = pygame.Rect(50, 50, 50, 50)
player_color = (255, 0, 0) 

องค์ประกอบหลักของเกมใดๆ ก็ตามอยู่ในลูปเกมหลัก ซึ่งทำหน้าที่เป็นศูนย์กลางของกิจกรรมต่อเนื่อง สิ่งนี้จะตรวจสอบอินพุตของผู้เล่นอย่างไม่หยุดยั้ง ปรับสถานะปัจจุบันของเกมตามนั้น และรีเฟรชการแสดงผลภาพ

 # Main game loop
running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Player Movement
    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT]:
        player.x -= 5

    if keys[pygame.K_RIGHT]:
        player.x \+= 5

    if keys[pygame.K_UP]:
        player.y -= 5

    if keys[pygame.K_DOWN]:
        player.y \+= 5

    screen.fill((0, 0, 0))

    # Draw the player
    pygame.draw.rect(screen, player_color, player)

    # Update the screen
    pygame.display.flip()

pygame.quit() 

นี่คือผลลัพธ์พื้นฐานจนถึงตอนนี้:

/th/images/simple-game-in-pygame-1.jpg

เพิ่มข้อความในเกมของคุณ

หากต้องการแสดงข้อความอย่างหรูหราในลักษณะที่ดึงดูดสายตา ให้เริ่มต้นวัตถุแบบอักษรโดยใช้เมธอด pygame.font.Font() ซึ่งช่วยให้สามารถระบุทั้งไฟล์แบบอักษรและขนาดที่สอดคล้องกันเพื่อให้แน่ใจว่าสามารถอ่านได้ดีที่สุดและดึงดูดสายตา

 # Load font
font = pygame.font.Font(None, 36) 

เมื่อโหลดแบบอักษรสำเร็จแล้ว จะสามารถสร้างเอาต์พุตภาพได้โดยใช้วิธี render() ของส่วนประกอบแบบอักษร กระบวนการนี้เกี่ยวข้องกับการจัดเตรียมเนื้อหาข้อความเฉพาะ การกำหนดค่าการป้องกันนามแฝง และค่าสีเป็นพารามิเตอร์ ต่อจากนั้น อาจใช้ฟังก์ชัน blit() เพื่อถ่ายโอนข้อความที่แสดงเป็นภาพลงบนพื้นผิวจอแสดงผล

 # Main game loop
while running:
    # Draw the player

    # Render and display text
    text = font.render("Welcome to My Game", True, (255, 255, 255))
    screen.blit(text, (width//2-text.get_width() // 2, 10))

    # Update the screen 

ผลลัพธ์ควรมีลักษณะดังนี้:

/th/images/simple-text-in-pygame.jpg

เพิ่มแบบอักษรที่กำหนดเอง

การเพิ่มความน่าดึงดูดทางสายตาของเกมผ่านการใช้แบบอักษรแบบกำหนดเองคือตัวเลือกที่นักพัฒนาอาจพิจารณาเพื่อยกระดับรูปลักษณ์โดยรวมของโปรเจ็กต์ของตน สำหรับผู้ที่สนใจนำแบบอักษรที่ไม่ได้มาตรฐานมาใช้ ต่อไปนี้เป็นขั้นตอนที่จำเป็นในการใช้แบบอักษรแบบกำหนดเองภายใน Unity

เพื่อให้ได้สไตล์ภาพที่เหมาะสมสำหรับเกมของคุณ จำเป็นต้องได้รับไฟล์ฟอนต์ TrueType (TTF) ส่วนบุคคลที่สอดคล้องกับความสวยงามที่ต้องการ มีตัวเลือกมากมายทางออนไลน์ รวมถึงแบบอักษรทั้งแบบฟรีและแบบที่ได้มาในเชิงพาณิชย์ ซึ่งสามารถใช้เพื่อวัตถุประสงค์นี้ได้

ค้นหาไฟล์ฟอนต์ภายในไดเร็กทอรีเดียวกันกับสคริปต์เกมของคุณ เนื่องจากจะช่วยให้ Pygame สามารถระบุและเข้าถึงฟอนต์ได้อย่างมีประสิทธิภาพ

 # Load custom font
custom_font = pygame.font.Font("custom_font.ttf", 48)

# Main game loop
while running:
    # Draw the player

    # Render and display custom font text
    custom_text = custom_font.render("Custom Font Text", True, (0, 255, 0))
    screen.blit(custom_text, (width//2-custom_text.get_width() // 2, 100))

    # Update the screen 

เนื้อหาที่แสดงควรนำเสนอโดยใช้แบบอักษรที่ต้องการ:

/th/images/custom-font-in-pygame.jpg

สร้างเอฟเฟกต์ข้อความ

การผสมผสานการปรับปรุงข้อความที่เร้าใจเข้ากับประสบการณ์การเล่นเกมมีศักยภาพในการแปลงเนื้อหาที่เป็นลายลักษณ์อักษรธรรมดาๆ ให้กลายเป็นภาพที่น่าดึงดูดซึ่งดึงดูดความสนใจของผู้ชม วิธีการขั้นพื้นฐานแต่ทรงพลังในการบรรลุการเปลี่ยนแปลงนี้เกี่ยวข้องกับการใช้การตกแต่งที่สั่นไหว

เพื่อให้ได้เอฟเฟกต์ข้อความที่เร้าใจซึ่งสร้างภาพลวงตาของการขยายและการหดตัวด้วยรูปแบบจังหวะ ให้ทำตามขั้นตอนเหล่านี้:

 # Main game loop
while running:
    # Draw the player

    # Create text with pulsating effect
    pulsating_text = custom_font.render("Pulsating Text", True, (0, 0, 255))

    # Calculate pulsation factor based on time
    pulsation_factor = 1 \+ abs((pygame.time.get_ticks() % 1000) - 500) / 500

    width = int(pulsating_text.get_width() * pulsation_factor)
    height = int(pulsating_text.get_height() * pulsation_factor)

    # Scale the text based on pulsation factor
    pulsating_text = pygame.transform.scale(
        pulsating_text,
        (width, height)
    )

    # Calculate text position to center it on the screen
    text_x = width // 2 - pulsating_text.get_width() // 2
    text_y = 200

    screen.blit(pulsating_text, (text_x, text_y))

    # Update the screen 

ในการสร้างเอฟเฟกต์ที่เร้าใจในแอปพลิเคชัน Pygame ของคุณ จำเป็นต้องคำนวณปัจจัยการเต้นโดยใช้ฟังก์ชัน pygame.time.get\_ticks() วิธีนี้จะให้การวัดเวลาที่ผ่านไปอย่างแม่นยำนับตั้งแต่เหตุการณ์ครั้งล่าสุดเกิดขึ้น แฟกเตอร์การเต้นเป็นจังหวะสามารถปรับได้โดยการปรับค่านี้ จึงเป็นการควบคุมแอมพลิจูดหรือความเข้มของการเคลื่อนที่แบบเป็นจังหวะ

นอกเหนือจากผลกระทบด้านจังหวะแล้ว อาจมีการสำรวจการตกแต่งข้อความเพิ่มเติมมากมายเพื่อเพิ่มความน่าดึงดูดทางภาพและแง่มุมด้านโวหารของประสบการณ์การเล่นเกม:

การจำลองการพิมพ์ที่เรียกว่า"เอฟเฟกต์เครื่องพิมพ์ดีด"เกี่ยวข้องกับการแสดงตัวอักษรข้อความทีละตัวอักษร โดยจำลองความรู้สึกที่ได้ยินได้ของเครื่องพิมพ์ดีดแบบแมนนวลโบราณ

ลบล้างเนื้อหาด้วยการเปลี่ยนสีเล็กน้อย ช่วยให้สามารถพัฒนาจากสถานะหนึ่งไปยังอีกสถานะหนึ่งได้อย่างราบรื่นโดยค่อยๆ เพิ่มความเข้มข้นหรือลดสีของตัวละครเมื่อเวลาผ่านไป

หากต้องการสร้างความรู้สึกเร่งด่วนหรือความตื่นเต้น ให้พิจารณาใช้เทคนิคแอนิเมชั่นข้อความ เช่น การสั่นเบาๆ หรือทำให้ข้อความบนหน้าจอสั่น ซึ่งสามารถทำได้ผ่านคุณสมบัติ CSS เช่น transform และ transition ซึ่งช่วยให้ได้เอฟเฟกต์ที่ราบรื่นและดึงดูดสายตา ซึ่งจะช่วยปรับปรุงประสบการณ์ผู้ใช้โดยไม่กระทบต่อความสามารถในการอ่านเนื้อหา

เพิ่มความโดดเด่นในการมองเห็นข้อความของคุณโดยการใช้แสงเรืองแสงที่ละเอียดอ่อนและส่องประกาย ซึ่งเน้นการแสดงตนในสภาพแวดล้อมที่มีแสงน้อย ยกระดับความโดดเด่นด้วยแสงระยิบระยับที่เย้ายวนและประณีต

เพื่อให้ได้เอฟเฟ็กต์ภาพที่ต้องการในรูปภาพหรือวิดีโอ อาจใช้วิธีการต่างๆ รวมถึงการปรับความทึบของพื้นที่เฉพาะผ่านการปรับแต่งช่องอัลฟ่า การเปลี่ยนตำแหน่งองค์ประกอบภายในเฟรม และการแนะนำการไล่สี

รู้สึกอิสระที่จะสำรวจเทคนิคแหวกแนวและผสมผสานองค์ประกอบภาพต่างๆ เพื่อให้ได้สุนทรียภาพที่มีเอกลักษณ์เฉพาะตัวซึ่งสอดคล้องกับทิศทางทางศิลปะของประสบการณ์วิดีโอเกมของคุณ

รวมคุณสมบัติเพิ่มเติม

เมื่อคุณเชี่ยวชาญด้านแบบอักษรส่วนบุคคลและการตกแต่งข้อความแล้ว การสำรวจการปรับแต่งเพิ่มเติมสำหรับโปรเจ็กต์ของคุณอาจเป็นการรอบคอบ

บทสนทนาเชิงโต้ตอบ

บูรณาการระบบเพื่ออำนวยความสะดวกในการแลกเปลี่ยนแบบไดนามิกระหว่างตัวละครของผู้เล่นและตัวละครที่ไม่ใช่ของผู้เล่น ผ่านการใช้ประโยชน์จากคอนเทนเนอร์ข้อความที่ชัดเจนและการพิมพ์ส่วนบุคคล ให้ผู้เข้าอบรมสามารถเลือกทางเลือกการสนทนาต่างๆ ซึ่งอาจมีผลกระทบต่อวิถีการเล่าเรื่องหรือผลลัพธ์สุดท้ายของประสบการณ์

องค์ประกอบ HUD

ตรวจสอบให้แน่ใจว่าข้อมูลสำคัญ เช่น สถิติผู้เล่น ตัวชี้วัดสุขภาพ และคะแนน นำเสนอในลักษณะที่สะดุดตาผ่านการออกแบบตัวอักษรและภาพที่สร้างสรรค์ ส่วนต่อประสานผู้ใช้ (UI) ที่จัดระเบียบอย่างรอบคอบพร้อมองค์ประกอบกราฟิกที่โดดเด่นจะช่วยยกระดับประสบการณ์การเล่นเกมโดยรวมโดยให้ผู้เล่นสามารถเข้าถึงข้อมูลที่สำคัญได้อย่างง่ายดาย

ข้อความเคลื่อนไหว

การรวมแอนิเมชั่นไว้ในเอฟเฟกต์ข้อความเป็นเครื่องมือที่ทรงพลังในการเพิ่มอรรถรสในการเล่าเรื่องผ่านองค์ประกอบภาพแบบไดนามิก การใช้เทคนิคต่างๆ เช่น การซีดจาง การเลื่อน หรือการเปลี่ยนสี นักออกแบบสามารถเน้นจุดเชื่อมต่อหรือเหตุการณ์สำคัญภายในประสบการณ์เกมได้อย่างมีประสิทธิภาพ ท้ายที่สุดจะดึงดูดผู้เล่นด้วยการนำเสนอที่น่าดึงดูดและดึงดูดสายตา

แนวทางปฏิบัติที่ดีที่สุดสำหรับแบบอักษรและเอฟเฟกต์ข้อความที่กำหนดเอง

ในขณะที่เราสำรวจภูมิประเทศของแบบอักษรส่วนบุคคลและการตกแต่งข้อความ การยึดมั่นในหลักการที่น่ายกย่องสามารถรับประกันได้ว่าการแสดงจะไร้ที่ติและน่าดึงดูด

ความสม่ำเสมอ

มุ่งมั่นสร้างความสม่ำเสมอในแบบอักษรและกราฟิกข้อความที่ใช้ในวิดีโอเกมของคุณ เนื่องจากการเชื่อมโยงกันในการพิมพ์สามารถปรับปรุงคุณภาพการรับรู้และการปรับแต่งได้

ความสามารถในการอ่าน

เมื่อเลือกแบบอักษรสำหรับการออกแบบ สิ่งสำคัญคือต้องจัดลำดับความสำคัญของความสามารถในการอ่านมากกว่ารูปลักษณ์ที่สวยงาม แม้ว่าฟอนต์ประดับอาจดูน่าดึงดูด แต่ก็ไม่ควรลดทอนความเข้าใจของข้อความ ดังนั้นจึงจำเป็นอย่างยิ่งที่จะต้องแน่ใจว่าแบบอักษรที่เลือกนั้นสามารถมองเห็นได้ง่าย โดยไม่คำนึงถึงขนาดหรือรูปแบบแบบอักษร

ตัดกัน

จำเป็นอย่างยิ่งที่จะต้องคำนึงถึงความแตกต่างในระดับสีระหว่างเนื้อหาและสภาพแวดล้อมโดยรอบ เนื่องจากอาจส่งผลกระทบอย่างมากต่อความชัดเจนและการใช้งานโดยรวม คอนทราสต์ในระดับสูงช่วยให้มั่นใจได้ว่าเนื้อหาที่เป็นลายลักษณ์อักษรจะโดดเด่นอย่างมีประสิทธิภาพเมื่อเทียบกับองค์ประกอบที่อาจรบกวนสมาธิ ซึ่งจะช่วยปรับปรุงการโต้ตอบของผู้ใช้กับอินเทอร์เฟซ

จิตวิทยาสี

การคำนึงถึงผลกระทบทางจิตวิทยาของเฉดสีในเนื้อหาที่เป็นลายลักษณ์อักษรถือเป็นสิ่งสำคัญสำหรับนักออกแบบ แต่ละเฉดสีให้ความรู้สึกที่แตกต่างกันออกไป ดังนั้นจึงจำเป็นต้องเลือกโทนสีที่สอดคล้องกับบรรยากาศและโทนของวิดีโอเกม

ทำให้เกมของคุณน่าดึงดูดยิ่งขึ้นด้วยแบบอักษรและเอฟเฟกต์ข้อความที่กำหนดเอง

การรวมตัวพิมพ์ส่วนบุคคลและการตกแต่งกราฟิกภายใน Pygame ไม่เพียงแต่ช่วยเพิ่มความน่าดึงดูดทางสายตา แต่ยังช่วยให้นักเล่นเกมมีระดับความดื่มด่ำและความหลงใหลที่เพิ่มขึ้นอีกด้วย

ภาษาที่สร้างขึ้นมาอย่างพิถีพิถันมีความสามารถในการกระตุ้นอารมณ์ สร้างบรรยากาศของเกม และนำผู้เล่นไปสู่ประสบการณ์ที่ดื่มด่ำ อาจรวมถึงรายละเอียดที่สำคัญ นำเสนอบทสนทนาที่น่าขบขัน หรือปลูกฝังความรู้สึกประหลาดใจ องค์ประกอบข้อความพิสูจน์ได้ว่าเป็นองค์ประกอบที่หลากหลายภายในขอบเขตของการสร้างวิดีโอเกม