> I also wonder what happens to non-native English speaking programmers when tools like this are widely available.
ChatGPT is just as good in Polish as in English. The only differences I found so far is that it cannot rhyme in Polish and occasionally generates song lyrics in English when prompted in other language..
prompt:
> zaprogramuj kontroler postaci do gry w widoku izometrycznym. język programowania: c#, silnik gry: unity engine
[write a program for controlling a character in game with isometric view. programming language: c#, game engine: unity engine]
answer:
> Jeśli chcesz zaprogramować kontroler postaci w grze w widoku izometrycznym w języku C# i silniku Unity Engine, to wymagane będzie posiadanie podstawowej wiedzy z zakresu programowania i silnika Unity. Oto przykładowy kod, który może Ci pomóc rozpocząć tworzenie kontrolera postaci:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterController : MonoBehaviour
{
// Szybkość poruszania się postaci
public float moveSpeed = 5.0f;
// Komponent Rigidbody odpowiadający za fizykę postaci
private Rigidbody2D rb;
// Komponent animator odpowiadający za animacje postaci
private Animator anim;
// Zmienne przechowujące kierunek ruchu postaci
private float moveX;
private float moveY;
// Start is called before the first frame update
void Start()
{
// Pobranie komponentów Rigidbody i Animator
rb = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
// Pobranie kierunku ruchu postaci za pomocą klawiszy strzałek
moveX = Input.GetAxis("Horizontal");
moveY = Input.GetAxis("Vertical");
// Ustawienie animacji chodzenia postaci w zależności od kierunku ruchu
if (moveX != 0 || moveY != 0)
{
anim.SetBool("isWalking", true);
}
else
{
anim.SetBool("isWalking", false);
}
}
// FixedUpdate jest wywoływane co pewien ustalony odstęp czasu
void FixedUpdate()
{
// Ruch postaci w zależności od pobranych wartości zmiennych moveX i moveY
rb.MovePosition(rb.position + new Vector2(moveX, moveY) * moveSpeed * Time.deltaTime);
}
}
> Ten kod tworzy prosty kontroler postaci, który porusza się w widoku izometrycznym za pomocą klawiszy strzałek. Możesz go rozszerzyć i dostosować do własnych potrzeb, dodając np. obsługę dodatkowych klawiszy lub inne funkcjonalności.