Platzieren Sie Objekte mit vorgegebenem Maßstab und KoordinatenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Platzieren Sie Objekte mit vorgegebenem Maßstab und Koordinaten

Post by Anonymous »

Ich habe ein Problem, wenn ich versuche, den Maßstab und die Koordinaten meiner Objekte im Code festzulegen. In meinem Spiel muss ich Objekte zufällig platzieren und sie müssen Block für Block und ohne Leerzeichen dazwischen bleiben (wie auf dem Referenzbild). Aber wenn ich meinen Code mache, bleiben sie in großer Entfernung und in seltsamem Maßstab. Ich wäre Ihnen sehr dankbar, wenn Sie mir bei dieser Sache helfen könnten. Und ich platziere Objekte im Weltraum, nicht in der Benutzeroberfläche.
Mein Spiel
[img]https://i. sstatic.net/F07D3S9V.png[/img]

Referenz
[img]https://i.sstatic. net/oTUyhqLA.png[/img]

Hier ist mein Code:

Code: Select all

        screen_bounds = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, Camera.main.transform.position.z));
float screen_width = screen_bounds.x * 2;
float screen_height = screen_bounds.y * 2;

var border_left = Instantiate(borderObject);
border_left.transform.localScale = new Vector3(1, screen_bounds.y*2, 1);
border_left.transform.position = new Vector3(-1 * screen_bounds.x - border_left.transform.localScale.x/2, 0, 0);

var border_right = Instantiate(borderObject);
border_right.transform.localScale = new Vector3(1, screen_bounds.y * 2, 1);
border_right.transform.position = new Vector3(screen_bounds.x + border_right.transform.localScale.x / 2, 0, 0);

var border_top = Instantiate(borderObject);
border_top.transform.position = new Vector3(0, screen_bounds.y, 0);
border_top.transform.Rotate(0, 0, 90);

for (int i = 1; i < 6; i++)
{
var block = Instantiate(block_types[Random.Range(0, block_types.Length)]);
block.transform.localScale = new Vector3(screen_width / 5 / 2, screen_width / 5 / 2, screen_width / 5 / 2);
block.transform.position = new Vector3(-1 * screen_bounds.x + block.transform.localScale.x * i * 2 - block.transform.localScale.x, 4, 0);
}
Ich denke, dass das Problem mit der schlechten Skalierung zusammenhängt. Aber ich verstehe nicht, wie man es richtig macht

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post