C# - Světlo
Zdravím, učím se v "C#"
using UnityEngine;
using System.Collections;
public class SvetloCs
{
public enum dobaBlikani
{
dobaBlikani = 0.05
}
public enum vzdalenostSvetla
{
vzdalenostSvetla = 10
}
public enum rychlostBlikani
{
rychlostBlikani = 0.5f
}
void Start()
{
while (true)
{
if (light.range == vzdalenostSvetla) light.range = rychlostBlikani;
else light.range = vzdalenostSvetla;
yield return new WaitForSeconds(dobaBlikani);
}
}
}
Umim přes java script, původně můj sepsaný kod vypadal takhle:
var dobaBlikani=0.05;
var vzdalenostSvetla=10;
var rychlostBlikani=0.5;
function Start()
{
while (true)
{
if (light.range == vzdalenostSvetla) light.range = rychlostBlikani;
else light.range = vzdalenostSvetla;
yield WaitForSeconds(dobaBlikani);
}
}
ale C# Shark mi to nebere, nevíte kde dělám chybu, nebo jestli jsem to nějak špatně pcchopil ?
Proč proboha enum?
Co má dělat ten zbytek? Nedává moc smysl.
Podle javascriptu....
Zbytek je v Unity3D, potom vezmu ten script přesunu na světlo, a nastavim hodnoty, tak jako u javascriptu, až na to že tohle potřebuju v C Shark.
ale ani to v javascriptu nedava zmysel.
P.S> a C neni zralok.
imgbank.cz
Je to C Shark ( Shark = # ) říkám to dobře ne ? :D
Dole v pravo je
"Script Svetlo"
Doba Blikani,atd...
Hodnoty (číselné) se dají upravit.
To samí potřebuji v C#
Myslim že to bude společní s "Boolean" nebo "bool"
ten web je nefunkcny orezany polovicu tam nevidno (FF 15.0.1), stejne nefunkcne su tam zrejme svetky tie scripty. Kuchar casnik robil web?
Mne je to fuk programuj si co chces, len dufam ze aspon sam chapes co programujes.
A medzi slovami sharp a shark je dost zasadny rozdiel :)
Dobře.
Není to web děláme s týmem na jedné hře a tohle je menu.
Potřebujem ho jen v C sharp, bez JS.
aha uz to chapem, len tie konstanty su pomenovane uplne nezmyselne.
A to "yield return new" v tom tvojom C# kode je podla mna uplna kravina (vytvaras donekonecna nezmyselne objekty az kym zahltis pamat, alebo co si tym chcel dosiahnut)
v JS se dodají hodnoty a podle hodnot to světlo
Bliká
(Jak daleko) bliká
a Jak rychle.
Ten script funguje bez problému.
ten script nerobi nic ine len hodnotu "light.range" meni periodicky medzi 10 a 0.5, a medzitym caka 0.05 sekundy. T.j. hodnota "rychlostBlikani" je nazvana uplne nezmyselne ptz to neni ziadna rychlost
Ty hodno ty jsem popsal podle sebe, abych jim rozuměl nejlíp, omlouvám se že to není vysvětlené podle vaší představy :)
ale je vidět už chápeš :) Tak poradíš kde je chyba ?
Chyba je v tom ze nemas ani ponatia o C#, a programujes nejake menu.
Uz som pisal yeld takto pouzit nemozes. To sa da len pre enumeratory, ak ten tvoj 3D engine pouziva enumerator. Ak nie tak budes muset naprogramovat to tvoje blikanie tak jak to potrebuje tvoj 3D engine v C#.
aha, dobře, tak hold to menu budu muset udělat v JS :/
Ked chces pouzivat iteratory v C# tak si o tom najprv nieco precitaj napr. http://msdn.microsoft.com/en-us/library/65zzykke%2 8v=vs.80%29.aspx
A ked chces robit C# scripty pre Unity3D tak si precitas nieco o robeni scriptov v C# pre unity3d (zadas si tie slova do www.google.com), napr. tu to je uplne zretelne jak by to malo vypadat
http://docs.unity3d.com/Documentation/ScriptRefere nce/index.Writing_Scripts_in_Csharp_26_Boo.html
vidis tam to slovo IEnumerator pred funkciou?
A Wikan ti pisal ze tie enum su tiez hovadiny.
A ked sa ti zda ze mas nejaku chybu tak si precitas chybovu hlasku compilera. My ti na obrazovku nevidime.