private void CameraMove()
{
mouseX = Mathf.Clamp(Input.GetAxis("Mouse X") * mouseSensivity, minAngle, maxAngle);
mouseY = Mathf.Clamp(Input.GetAxis("Mouse Y") * mouseSensivity, minAngle, maxAngle);
transform.Rotate(mouseX * new Vector3(0, 1, 0));
cameraTransform.transform.Rotate(-mouseY * new Vector3(1, 0, 0));
}
import java.io.File;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.List;
public static void LaunchMinecraft() {
String nickname = "Kats555";
String Class = "net.minecraft.client.main.Main";
List < URL > url = new ArrayList < URL > ();
File Dir = new File(".");
System.out.println("Путь до папки с клиентом -> " + Dir.getAbsolutePath());
if (!new File(Dir.getAbsolutePath() + "/natives").exists()) new File(Dir.getAbsolutePath() + "/natives").mkdirs(); //Папка с нативами
try {
url.addAll(getLibs(new File(Dir.getAbsolutePath() + "/versions"))); //Папка с клиентом
url.addAll(getLibs(new File(Dir.getAbsolutePath() + "/libraries"))); //Папка с либами
} catch (Exception x) {
System.out.println("Неправильный путь к клиенту");
}
URLClassLoader cl = new URLClassLoader(url.toArray(new URL[url.size()]));
System.out.println("Список загруженных jar ->" + url);
System.setProperty("fml.ignoreInvalidMinecraftCertificates", "true");
System.setProperty("fml.ignorePatchDiscrepancies", "true");
System.setProperty("org.lwjgl.librarypath", Dir.getAbsolutePath() + "/natives");
System.setProperty("net.java.games.input.librarypath", Dir.getAbsolutePath() + "/natives");
System.setProperty("java.library.path", Dir.getAbsolutePath() + "/natives");
List < String > params = new ArrayList < String > ();
try {
cl.loadClass("com.mojang.authlib.Agent");
params.add("--accessToken");
params.add("1");
params.add("--uuid");
params.add("12345");
params.add("--userProperties");
params.add("{}");
params.add("--assetIndex");
params.add("1.7.10");
} catch (ClassNotFoundException x) {
params.add("--session");
params.add("1");
}
params.add("--username");
params.add(nickname);
params.add("--version");
params.add("1.7.10");
params.add("--gameDir");
params.add(Dir.getAbsolutePath() + "/");
params.add("--assetsDir");
params.add(Dir.getAbsolutePath() + "/assets");
try {
Class < ? > start = cl.loadClass(Class);
System.out.println("Запуск клиента");
Method main = start.getMethod("main", new Class[] {
String[].class
});
main.invoke(null, new Object[] {
params.toArray(new String[0])
});
} catch (Exception x) {
System.out.println(x);
}
}
private static List < URL > getLibs(File libsfolder) throws MalformedURLException {
List < URL > libs = new ArrayList < URL > ();
if (!libsfolder.exists()) libsfolder.mkdirs();
for (File file: libsfolder.listFiles()) {
if (file.isDirectory()) {
libs.addAll(getLibs(file));
} else {
if (file.getName().endsWith(".jar")) {
libs.add(file.toURI().toURL());
}
}
}
return libs;
}
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out RaycastHit hit, Mathf.Infinity))
{
Debug.DrawRay(hit.point, hit.normal * 10, Color.red, 10f);
}
public interface IButton
{
public void OnClick();
}
public class YellowButton : IButton
{
public void OnClick()
{
Debug.Log("Yellow");
}
}
public class Example : MonoBehaviour
{
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out RaycastHit hit, Mathf.Infinity))
{
if(hit.transform.TryGetComponent(out IButton button))
{
button.OnClick();
}
}
}
}
}
public class Button : MonoBehaviour
{
public event Action ButtonPressed;
private void OnMouseDown()
{
ButtonPressed?.Invoke();
}
}
public class ButtonHandler : MonoBehaviour
{
[SerializeField] private Button _button;
private void OnEnable()
{
_button.ButtonPressed += DoStuff;
}
private void OnDisable()
{
_button.ButtonPressed -= DoStuff;
}
private void DoStuff()
{
}
}
// Считать запрос
String request = getRequest();
// Сделать запрос к серверу
String response = getResponseFromWiki(request);
// Распарсить ответ
(?) result = parseResponse(response);
// Вывести результат
showResult(result);
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public Vector3[] Points;
[SerializedField] private float _sphereRadius = 1;
[SerializedField] private float _sphereColor = new Color32(0, 150, 255, 255);
// Methods
private void OnDrawGizmos()
{
Gizmos.color = _sphereColor;
for(int i = 0; i < Points.Length; i++)
{
// Draw a yellow sphere at the transform's position.
Gizmos.DrawSphere(Points[i], _sphereRadius);
Handles.Label(Points[i], $"Point {i}");
}
}
}
В иерархии они на одном уровне.Такого не может быть. В иерархии так или иначе один элемент находится выше другого. То, что находится ниже - будет отлавливать все нажатия на себя (если Raycast Target навешен) Так что тут либо убирать Raycast Target, либо разделять на отдельные элементы.
ImageReader reader = ...; //ImageIO.getImageReaders(ImageIO.createImageInputStream(stream))
reader.setInput(...);
IIOImage image = reader.readAll(0, null);
RenderedImage renderedImage = image.getRenderedImage();
ImageWriter writer = ImageIO.getImageWriter(reader);
ImageWriteParam param = writer.getDefaultWriteParam();
paran.setCompressionMode(MODE_COPY_FROM_METADATA);
writer.setOutput(...);
writer.write(null, image, param);