ã¢ã€ãã¢ã¯åè«ã®ããã«èŠãããããããŸããããããã¯çããæš©å©ã«å€ããŸãã ç§ãã¡ã¯ãä»®æ³çŸå®ããå€éšãžãã€ãŸãä»®æ³ã®çŸå®ãžã®éåžžã®è€è£œãšã¯åå¯Ÿã®æ¹åã«ãã€ãã³ããã³ããŒããããšã«ã€ããŠè©±ããŠããã ç§ã¯ããããæ¡åŒµçŸå®ãªããŒã¹ããšåŒã³ãŸãã ãã®èãã¯ãHTTPãªã¯ãšã¹ããArduino Ethernetã·ãŒã«ãã«éä¿¡ããããšã§ãã UTããã
ã€ã³ãã
ãããããã€ãŒãµãããã¢ãžã¥ãŒã«ãŸãã¯ã·ãŒã«ãã®ãã¹ãŠã®è³Œå
¥è
ã* duinoããLEDããªã³ã«ãã*ãµãŒããŒãäœæããå€ãã®äººãé
ããæ©ãããããAndroidã¹ããŒããã©ã³ã®ãããªã¯ã©ã€ã¢ã³ãã«çž«ãä»ããŸããã æè¿ãç§ã¯èããŠããŸãã-ã¢ã³ãªã¢ã«ããŒãã¡ã³ãããã®ã¯ã©ã€ã¢ã³ããšããŠäœ¿çšããŠã¿ãŸãããïŒ UTã¯åªããèŠèŠåç°å¢ã§ãããããã«ããšã³ãžã³èªäœã¯éåžžã«äŸ¿å©ã§æè»ã§ãã
ã€ã³ã¿ãŒãã§ã€ã¹ã¬ãã«ã§ã®ãšãã£ã¿ãŒã®ç¥èã¯ååã§ãã UnrealScriptã®ãœãŒã¹ã¯ãã¯ã©ã€ã¢ã³ããèšè¿°ããŠããæ¹æ³ã«æ²¿ã£ãŠèª¬æãããŸãããäžè¬çã«UnrealScriptã«ã¯éåžžã®ã·ã¹ãã æ§æãšéåžžã«çè§£ãããã颿°åããããŸãã Unreal EditorãåããŠèŠããããŸã 詊ããŠã¿ãããšããæ¹ã¯ã
VBKesha Introducing UnrealEngineã®èšäºãèªãããšããå§ãã
ãŸãã 第1éš ãççŽã«èšã£ãŠãç§èªèº«ã¯ãã®ã³ãŒã¹ãç¶ããããšãæ¬åœã«æ¥œãã¿ã«ããŠããŸãããªããªããããšãã°ãããã¯ãŒã¯è€è£œã§ã¯ãç§ã¯å®å
šãªç·ã ããã§ãã UT99çšã«äœæããããã¹ãŠã®æŠåšã¯ãã·ã³ã°ã«/ãªãã©ã€ã³ã¢ãŒãã§ã®ã¿æ£ããæ©èœããŸãã
ãµãŒããŒ
äžè¬ã«ãèªè
ã¯Arduinoã§WebãµãŒããŒãäœæããåé¡ã«é¢ãããã¹ãŠããã§ã«ç¥ã£ãŠãããšæ³å®ãããŸãã ããã«ãããããããç¹°ãè¿ãã¯åŠç¿ã®æ¯ã§ããããã念ã®ããã«ããã®äŸã®ããªãšãŒã·ã§ã³ã®1ã€ãåŒçšããŸãã
ãµãŒããŒã®èª¬æããŒããŠã§ã¢ã¯ENC28J60ã®ã€ãŒãµãããã¢ãžã¥ãŒã«ãŸãã¯ã·ãŒã«ãã§è¡šãããDrãDr.Webã®Ether_28J60ã©ã€ãã©ãªãã¹ã±ããã®äœæã«äœ¿çšãã
ãŸãã ä¿®é士 ã ããã¯ã
Nuelectronicsã©ã€ãã©ãªã®ã©ãããŒã§ãã
ãããš
ãã ããã¢ãŒã«ã€ã
ã ïŒ
arduinoïŒ
\ librariesãã£ã¬ã¯ããªã«å±éããWebRemoteã®äŸãåãäžããŠãå¿
èŠã«å¿ããŠå€æŽããã¹ããŒã ïŒå¥ã®ã¢ãžã¥ãŒã«çšïŒã«åŸã£ãŠã¢ã»ã³ãã«ããŸãã
ããŒãENC28J60 | Arduino |
SI | MOSIïŒD11ïŒ |
ãã | å³ISOïŒD12ïŒ |
SCL | SCKïŒD13ïŒ |
Rst | ãªã»ãã |
5V | 5V |
GND | GND |
CS | D10 |
Arduinoã®D6ãã³ã«ã¯LEDãããïŒæµæåšãä»ããŠïŒãã¢ããŒãïŒãã©ã¹ïŒãäºéã«ãã«ãœãŒããã°ã©ã³ãã«åãã£ãŠããŸãã
ç§ã®ã¹ã±ããã¯æ¬¡ã®ããã«ãªããŸãã
#include "EtherShield.h" #include "ETHER_28J60.h" int outputPin = 6; static uint8_t mac[6] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; static uint8_t ip[4] = {192, 168, 0, 40}; static uint16_t port = 80; ETHER_28J60 e; void setup(){ e.setup(mac, ip, port); pinMode(outputPin, OUTPUT); } void loop(){ char* params; if (params = e.serviceRequest()){ e.print("<H1>Web Remote</H1>"); if (strcmp(params, "?cmd=on") == 0) digitalWrite(outputPin, HIGH); else if (strcmp(params, "?cmd=off") == 0) digitalWrite(outputPin, LOW); e.print("LED state: <br>"); if(digitalRead(outputPin)==1) e.print("on"); else e.print("off"); e.print(".<br>"); e.print("<A HREF='?cmd=on'>Turn on</A><br>"); e.print("<A HREF='?cmd=off'>Turn off</A>"); e.respond(); } }
ãã£ã¹ã¯
ãªã¯ãšã¹ããå®äºããã«ã¯ãå®è¡æã«ãã©ã¡ãŒã¿ãæž¡ãããšãã§ããã¯ã©ã€ã¢ã³ãã¯ã©ã¹ãå¿
èŠã§ãã 幞ããªããšã«ããã®ãããªã¯ã©ã¹ã¯ãã§ã«ååšããUBrowser.UBrowserHTTPClientãšåŒã°ããŸãã UT2003 / 2004ã«ã¯UBrowserããã¯ã¯ãããŸããããUWeb.WebApplicationãšãã®ãµãã¯ã©ã¹ããããŸãã UT99ãããªã¯ãšã¹ããéä¿¡ããããšãæ€èšããŠãã ãããå€ãããŒãžã§ã³ã®å Žåã¯ã顿šã«ãã£ãŠãããã·ã£ãŒãã«ããããšãã§ããŸãã UBrowserHTTPClientã¯GETãªã¯ãšã¹ãã®ã¿ãè¡ãããšãã§ããŸããããããæããŠPOSTããããšãã§ããŸãã å®éã«ã¯ãäžè¬ã«HTTPããããŒãä»»æã®æ¹æ³ã§å€æŽããHTTPãããã³ã«ã ãã§ãªãä»ã®æ¹æ³ãå®è£
ã§ããŸãã
UBrowserHTTPClientã«ã¯ãšãã£ã¿ãŒïŒã¡ãã·ã¥ãŸãã¯ãã¯ã¹ãã£ã¹ãã©ã€ãïŒã«èŠèŠçãªè¡šç€ºããããŸãã-ã¬ãã«ã«è¿œå ãããšãããã«è¡šç€ºãããŸããããšãã£ã¿ãŒã«ã¯è¡šç€ºãããŸããã ãããã£ãŠããã䟿å©ãªãã©ãããŒããäœæãããšåæã«ãã¬ãã«ã§ç·šéã§ãã倿°ã®ãã¢ãæäŸããŸãã 芪ïŒã¹ãŒããŒã¯ã©ã¹ïŒãšããŠãããªã¬ãŒã¯ã©ã¹ã䜿çšããŸãã
ããã§ã
VBKeshaã®èšäºã§
説æãããŠããªãããšãç¶ããŸãã ãã¥ãŒã®ããã¯ãŒã¯ã¹ããŒã¹ã®äžã«ãã©ãŠã¶åŒã³åºããã¿ã³ããããŸãïŒãããã¯æ¬¡ã®ããã«ãªããŸãïŒ

ïŒ Actor Classesã«èå³ããããããŒã³ïŒæåã®ãã¿ã³ïŒã«äŒŒããã¿ã³ã§éããŸãã ãã®ãŠã£ã³ããŠã«ãã§ãã¯ããã¯ã¹ã®ããäžéšãã£ãŒã«ãããªãå Žåã¯ãã¡ãã¥ãŒã®
衚瀺->ããã±ãŒãžã®è¡šç€ºã³ãã³ãã§æå¹ã«ããŸãã æå¹ã«ããå¿
èŠããããŸããç¬èªã®ã¹ã¯ãªããããã¯ãäœæãããããå¿
èŠã«ãªããŸãã

èŠæ±ã管çã§ãããã¹ãããªã¬ãŒãäœæããã«ã¯ããã®ãŠã£ã³ããŠã§
Triggersã°ã«ãŒããéãïŒååã¯Windowsã¬ãžã¹ããªãšãã£ã¿ãŒãšåãã§ãïŒã
TriggerãéžæããŠãã¿ã³ãæŒããŸã

ã 衚瀺ããããŠã£ã³ããŠã®äžçªäžã®è¡ã¯äœæäžã®ã¯ã©ã¹ã®ããã¯ãã¡ã€ã«ã®ååã§ãäžçªäžã¯ã¯ã©ã¹åã§ãã ãããã£ãŠãEnterããŒãæŒããšãMyPackage.MyTriggerã¯ã©ã¹ãååŸãããŸãã åçŽãªstdHTTPTrig.stdHTTPTriggerãåŒã³åºããŸããã æ¬¡ã«ãã³ãŒãèªäœãèšè¿°ããŸãã
class stdHTTPTrigger expands Trigger; var() string BrowseURL,BrowseArg; function Touch(actor Other){ local UBrowserHTTPClient uhc; foreach allactors(class'UBrowserHTTPClient',uhc) uhc.destroy(); uhc=spawn(class'UBrowserHTTPClient'); if(uhc != none) uhc.Browse(browseurl,browsearg); }
ã¹ã¯ãªãããšãã£ã¿ãŒïŒãœãŒã¹ãèšè¿°ããå ŽæïŒã¯ãã¯ã©ã¹ãããã«ã¯ãªãã¯ããŠéããã¯ã©ã¹ãäœæãããšèªåçã«éããŸãã ã³ã³ãã€ã«ã¯ãã¿ã³ã§è¡ãããŸã

ïŒå€æŽãããã¹ã¯ãªãããã³ã³ãã€ã«ããïŒãŠã£ã³ããŠã®äžéšã [ãã¹ãŠã³ã³ãã€ã«]ãã¯ãªãã¯ããããšã¯ãå§ãããŸãããæåã¯UEãé·ãéèããŠãããäžéšã®ã¯ã©ã¹ãèŠã€ãããªããšããäžæºãèšããŸãïŒå¿
èŠãªãã®ã ããèªã¿èŸŒãŸããããïŒã 3æ¬ã®æã§æ®åœ±ããŸãã ã³ã³ãã€ã«åŸãããã¯ãä¿åããå¿
èŠããããŸãããã®ãããã¢ã¯ã¿ãŒã¯ã©ã¹ãŠã£ã³ããŠã®äžéšã«ãã®ååïŒ[ããã±ãŒãžå]è¡ã«èšè¿°ãããŠãããã®ïŒãèŠã€ãããã®åã«ãã©ã°ãä»ããŠãã¯ãªãã¯ããŸãã

ã ã¡ãªã¿ã«ããœãŒã¹ããã°ããä¿®æ£ããŠä¿åããå¿
èŠãããå Žåã¯ãã¯ã©ã¹ãã©ãŠã¶ãŠã£ã³ããŠãéããšäŸ¿å©ã§ãã

ã¹ã¯ãªãããšãã£ã¿ãŒãçµäºããããšãªãïŒåŸè
ããã«ã¹ã¯ãªãŒã³ã«å±éãããŠããå ŽåïŒã
ã芧ã®ãšãããèæ
®ãããããªã¬ãŒã¯ããªã倱瀌ã§ããã¬ãã«å
ã®ãã¹ãŠã®ã¯ã©ã€ã¢ã³ãã®ã¢ã¯ã¿ãŒããã¹ãŠç Žæ£ãïŒã¡ã¢ãªãç¯çŽããããã ãïŒãæ°ããã¢ã¯ã¿ãŒãäœæããŠãæå®ããããªãœãŒã¹ã調ã¹ãŸãã browseïŒïŒãåŒã³åºããåŸãã¯ã©ã€ã¢ã³ãã¯ç Žæ£ãããŸãããåäœã«æéããããããã§ãã browseïŒïŒã¡ãœããã«ã¯ãTCPããŒããšã¿ã€ã ã¢ãŠãã®2ã€ã®ãªãã·ã§ã³ãã©ã¡ãŒã¿ããããŸãã åŸè
ã䜿çšãããšããªã¯ãšã¹ãã®æåã远跡ãããªãœãŒã¹ã®å¯çšæ§ãè©äŸ¡ã§ããŸãã ãŸãããã®ã¯ã©ã€ã¢ã³ãã«ã¯ããµãŒããŒã®å¿çãšãšã©ãŒåŠçãè¿ãããã®ã³ãŒã«ããã¯é¢æ°ããããŸãã ãã®æ©èœã䜿çšããã«ã¯ããããã®é¢æ°ããªãŒããŒã©ã€ãããå¿
èŠããããŸããã€ãŸããç¬èªã®ãµãã¯ã©ã¹ãäœæãããã®èŠªã¯UBrowserHTTPClientã«ãªããŸãã
ãã¹ãã«ãŒã ã¯ã1ã€ã®PlayerStartãšå
æºã®2ã€ã®ããªã¬ãŒã§æ§æãããŠããŸãã BrowseURLããããã£ã¯äž¡æ¹ã§åãã§ã-ããã¯ãµãŒããŒã®IPã¢ãã¬ã¹ã§ãã BrowseArgã¯ããªãœãŒã¹ã®ååïŒã¹ã©ãã·ã¥/ïŒãšããŒã¿ïŒçå笊ãšå€æ°ïŒã§æ§æããããã©ã¡ãŒã¿ãŒ
ã§ããã€ãŸããäžæ¹ã«ã¯
/ïŒCmd = onãããã仿¹ã«ã¯
/ïŒCmd = offããããŸãã ããããã£ãŠã£ã³ããŠã¯ããªããžã§ã¯ãã®RMBã§ããŸãã¯ããããã£ã§ããŸãã¯F4ã§éããŸãã F4ãæŒãããŠããªãå Žåã¯ãä»»æã®ãã¥ãŒãå·Šã¯ãªãã¯ããŸãã éšå±ãæããããF6ããŒãæŒããŸããéãããŠã£ã³ããŠïŒã¬ãã«ããããã£ïŒã§ãLevelInfoãèŠã€ãããŸã-DefaultGameTypeã singleplayerã«å€æŽããŠEnterããŒãæŒããŸãïŒUnrealShare.SinglePlayerã眮ãæããããŸãïŒãããããªããšããããã衚瀺ãããŠå¹²æžããŸãã æ¬¡ã«ãã¬ãã«ãæ§ç¯ãïŒãžãªã¡ããªã®åæ§ç¯ïŒãä¿åããŠå®è¡ããŸãã ããªã¬ãŒã«åŸã£ãŠãã©ã¹ã¿ãŒããæã¡ãŸãïŒããã©ã«ãã§ã¯ã¢ã¯ã·ã§ã³ã®ååŸã¯40ã§ãïŒã
ãµãŒããŒã®å¿çãååŸãã
ããã§ãäžè¬çãªçšèªã§ã¢ã€ãã¢ã確èªããåŸããã£ããã·ã¥ã©ã€ã³ã®éçºã«é²ãããšãã§ããŸãã åãæ¹æ³ã§æ°ããã¯ã©ã¹ã®ããã¯ã«ååãä»ããäºå®ã§ãå€ãããªãŒã¯ãããªã¬ãŒãå¿
èŠãªãå Žåã¯ããšãã£ã¿ãŒãçµäºããŠãïŒ
ut99ïŒ
\ã·ã¹ãã ãã£ã¬ã¯ããªã«ããpackname.uãã¡ã€ã«ãåŠçããŸãïŒããã¯åã¯ãã¯ã©ã¹ã§ããã¯ãšåŒã°ãããã®ã§ããïŒ
ut99ïŒ
-Unreal Tournamentãžã®ãã¹ïŒïŒããšãã°ãå€ããã£ã¬ã¯ããªã«ç§»åããŸãã ãŸãã¯ãå¿
èŠãªãã®ã§ããã«ãã¹ã±ããã«å
¥ããŸãã ãšãã£ã¿ãŒãåã³èµ·åããŸãã
ã¬ãã«ã€ãã³ã
Uãšââã³ãžã³ã«ã¯ãé©åãªããããã£ãæã€ãã¹ãŠã®ã¢ã¯ã¿ãŒãé çªã«ãã€ãã¹ããé©åãªé¢æ°ãåŒã³åºãããšãé€ããŠãã€ãã³ããäœæããããã®ä»ã®ã¡ã«ããºã ã¯ãããŸããã ããªã¬ãŒã®ãã¹ãŠã®ã¿ã€ãã§ãTagããããã£ãããã«äœ¿çšãããŸã-ã¿ã€ãåïŒãªããžã§ã¯ãåïŒã®å€æ°ãšãããªã¬ãŒïŒïŒãããªã¬ãŒè§£é€ïŒïŒé¢æ°ã UntriggerïŒïŒã¯ãããšãã°åŒãæžã§ã®ã€ãã³ãã®ãç Žå£ãã®å¹æãç®çãšããŠããŸãã éå£éšã®äžå€®ã«ããã¢ã圢æããã ãŒããŒïŒã ãŒããŒããŸãã¯ç§»åå¯èœãã©ã·-ç§»åãã©ã·ãŸãã¯ãã©ã·ïŒã®Tagããããã£ã§æå®ãããã€ãã³ããäœæããããªã¬ãŒãèšå®ãããŸãã ãã¬ã€ã€ãŒãããªã¬ãŒã®ç¯å²ã«å
¥ããšãã ãŒããŒã¯TriggerïŒïŒé¢æ°ãåŒã³åºããååŸãé¢ãããšUntriggerïŒïŒé¢æ°ãåŒã³åºãããŸãã ãã®çµæããã¬ã€ã€ãŒãããªã¬ãŒã®ç¯å²å
ã«ããéã®ã¿ãã¢ãéããŸãã ã¬ãã«ã®æ§ç¯ã«ããã䜿ãããããšäºææ§ãšãã2ã€ã®ç®æšã远æ±ããŸãã
ãã®äŸã§ã¯ãå®éã«ã¯ããªã³/ãªãç¶æ
ã®ã¿ããã§ãã¯ãããŸãã ããã¯ãæååå
ã®éšåæååãæ€çŽ¢ããæ¡ä»¶ãšæ©èœã䜿çšããŠè¡ãããŸãã ãã ãããµãŒããŒã®å¿çããç¹å®ã®å€ãããšãã°RGB LEDã®PWMã¬ãã«ãåŒãåºãåã«ããã®ã·ã¹ãã ã®éçºã劚ãããã®ã¯ãããŸããã ãã ããRGB LEDã«ã¯RGB圢åŒã®ããŒã¿ãå¿
èŠã§ãããUnrealã§ã¯è²ãHSBã«å€æããå¿
èŠãããããšã«æ³šæããŠãã ããã
æ°ããããªã¬ãŒã«ã¯ããµãŒããŒå¿çã§æ€çŽ¢ããå¿
èŠã®ãã8ã€ã®æååã®ãµã³ãã«ãšãæååãèŠã€ãã£ã/èŠã€ãããªãã£ãå Žåã«ã€ãã³ããäœæ/ç Žæ£ããããã®åãæ°ã®ååãå«ãŸããŸãã å¿
èŠã«å¿ããŠãå¢å ãåé€ãªã©ãè¡ãããšãã§ããŸããHTTPãšã©ãŒã®å Žåãã€ãã³ãã®äœæã®ã¿ãæäŸãããŸãããã®å ŽåãUntriggerã䜿çšããå¿
èŠã¯ãããŸããã ç¹°ãè¿ããŸããã誰ã远å ãçŠæ¢ããŠããŸããã
ã¯ã©ã¹ãã©ãŠã¶ïŒActor ClassesïŒãéãããã®äžã§ã°ã«ãŒã
Actor \ Info \ InternetInfo \ InternetLink \ TcpLink \ UBrowserBufferedTcpLinkãéã ãã¯ã©ã¹
UBrowserHTTPClientãéžæãããã¿ã³ãã¯ãªãã¯ããŸã

ïŒæ°ããã¹ã¯ãªããïŒã ã¯ã©ã¹åãšããã¯ãæå®ããŠãã³ãŒããèšè¿°ããŸãã
class stdHTTPBrowser expands UBrowserHTTPClient; var string SearchRespData[8]; var name SearchRespEvent[8]; var name SearchNotInRespEvent[8]; var name SearchRespCancelEvent[8]; var name SearchNotInRespCancelEvent[8]; var int HTTPErrCode[8]; var name HTTPErrEvent[8]; event HTTPReceivedData(string Data){ local int i; local actor a; for(i=0;i<=7;i++){ if(SearchRespData[i] != ""){ if(InStr(Caps(Data),Caps(SearchRespData[i])) != -1){ if(SearchRespEvent[i] != '') foreach allactors(class'Actor',a,SearchRespEvent[i]) a.Trigger(self,self.instigator); if(SearchRespCancelEvent[i] != '') foreach allactors(class'Actor',a,SearchRespCancelEvent[i]) a.Untrigger(self,self.instigator); }else{ if(SearchNotInRespEvent[i] != '') foreach allactors(class'Actor',a,SearchNotInRespEvent[i]) a.Trigger(self,self.instigator); if(SearchNotInRespCancelEvent[i] != '') foreach allactors(class'Actor',a,SearchNotInRespCancelEvent[i]) a.Untrigger(self,self.instigator); } } } } event HTTPError(int Code){ local int i; local actor a; for(i=0;i<=7;i++){ if(HTTPErrCode[i] == Code && HTTPErrEvent[i] != '') foreach allactors(class'Actor',a,HTTPErrEvent[i]) a.Trigger(self,self.instigator); } }
ååIMHOã¯ãäžåœèªããã·ã¢èªãªã©ã®æååã«ããŒã«ã©ã€ãºãããæååãããããšãé€ããŠãæååãšããã»ã©éãã¯ãããŸããããã ãããã§ãã¯ããæ¡ä»¶ã§ã¯ã空ã®åå㯠''ïŒåäžåŒçšç¬Šã§ïŒã空æååã¯ããïŒäºéåŒçšç¬ŠïŒã§ãã ããŒã¯ãŒãã€ãã³ãã¯ãWindows APIã®ãœãŒã¹ã³ãŒãã®ã³ãŒã«ããã¯ãšåãã§ãã èŠããã«ãã³ãŒã«ããã¯ãã€ãŸãã颿°ã¯ã¯ã©ã¹ã¹ã¯ãªããã§ã¯ãªããå€éšã€ãã³ãã«ãã£ãŠããªã¬ãŒãããŸãã
ã³ã¡ã³ããäºæ³ããããšã¯ãBoã®ã·ã§ããã®ã穎ã«å
¥ã£ããã«äŒŒãŠãããããAdd YourHTTPClientClass hereã³ãã³ãã䜿çšããŠãã®ã¯ã©ã¹ãã¬ãã«ã«è¿œå ããªãããšãå¬ããæããŸãã ããªã¬ãŒå
ã®spawnïŒïŒé¢æ°ããããè¡ããŸãã ç§ã®æèŠã§ã¯ãããã¯ãã®ãããªãã®ã«æãé©ããã¯ã©ã¹ã§ãã ãããã£ãŠãã¹ã¯ãªãããšãã£ã¿ãŒãŠã£ã³ããŠãéããã¯ã©ã¹ãã©ãŠã¶ãŒã§ã°ã«ãŒã
Actor \ Triggersãéãã
TriggerãéžæããŸãã [æ°èŠã¹ã¯ãªãã]ãã¯ãªãã¯ããŠãããªã¬ãŒã³ãŒããèšè¿°ããŸãã
class stdHTTPTriggerX expands Trigger; var() enum EHTTPTriggerLaunchType{
ããã§ã¯ããã®ããªã¬ãŒã«ãã£ãŠäœæãããã¯ã©ã€ã¢ã³ããªããžã§ã¯ãã®ã¿ãç Žæ£ãããŸãã ããã«ãããè€æ°ã®ã¯ã©ã€ã¢ã³ããåæã«åäœã§ããŸãã ããŒã¯ãŒãnone-ãªããžã§ã¯ãã®ç©ºã®ååããªããžã§ã¯ããäœæããããã©ããã確èªã§ããŸãã self-èªåã®ãªããžã§ã¯ãã®ååãèªåèªèº«ãåç
§ã§ããŸãã èªå·±è¡šçŸã 倿°åã®åã«èšè¿°ããããšã¯ã§ããŸããããããã«ããã³ãŒãããããã«ãããªããŸãã varã®åŸã®æ¬åŒ§ïŒïŒã¯ããã®å€æ°ãã¢ã¯ã¿ãŒããããã£ãŠã£ã³ããŠã«è¡šç€ºãããããšã瀺ããŸãã ã€ãŸããã¯ã©ã€ã¢ã³ãã¯ã©ã¹ã«ã¯ãããã®ããããã£ããããŸãããã¹ã¯ãªããããã®ã¿ç·šéã§ããŸãããããè¡ãCreateClientRequestïŒïŒã«ã¯ã«ãŒãããããŸãã IsRelevantïŒïŒã¯ããã®ããããã£ãšã®äºææ§ã確ä¿ããããã«Engine.Triggerã¯ã©ã¹ããåçšãããŸãã ReTriggerDelayã®æ¡ä»¶ã«ãããæå®ããééãããé »ç¹ã«æäœãå¶éããããšã¯ã§ããŸããã
ã³ã³ãã€ã«ïŒã¹ã¯ãªãããšãã£ã¿ãŒã§å€æŽãããã¹ã¯ãªãããã³ã³ãã€ã«ïŒããã©ãŠã¶ãŒã«ããã¯ãä¿åããŸãã
倿°ã®èª¬æ
HTTPTriggerLaunchType | æã¡äžãã¿ã€ã |
SearchRespData [] | æ€çŽ¢ãã³ãã¬ãŒã |
SearchRespEvent [] | ãã¿ãŒã³ãèŠã€ãã£ããšãã«ããªã¬ãŒãããã€ãã³ã |
SearchNotInRespEvent [] | ãã³ãã¬ãŒããæ¬ èœããŠãããšãã«ããªã¬ãŒãããã€ãã³ã |
SearchRespCancelEvent [] | ãã³ãã¬ãŒããèŠã€ãã£ããšãã«ç Žæ£ãããã€ãã³ã |
SearchNotInRespCancelEvent [] | ãã³ãã¬ãŒãããªãå Žåã«ç Žå£ãããã€ãã³ã |
HTTPErrCode [] | HTTPãšã©ãŒã³ãŒã |
HTTPErrEvent [] | HTTPãšã©ãŒã«ãã£ãŠããªã¬ãŒãããã€ãã³ã |
BrowseURL | ãµãŒããŒã¢ãã¬ã¹ |
BrowseArg | ãªãœãŒã¹ãšãã©ã¡ãŒã¿ãŒ |
bAutoExec | ã¬ãã«ãããŒããããšãã®èªåã¯ãšãªå®è¡ |
ããªã¬ãŒã¿ã€ããHTTLT_Touchã®å Žåãç¹å®ã®ã¯ã©ã¹ãååŸã«å
¥ããšãããªã¬ãŒã¯CreateClientRequestïŒïŒãå®è¡ããŸãã TriggerTypeå€ïŒTriggerã°ã«ãŒãå
ïŒãèæ
®ãããŸãïŒTT_AnyProximity-ä»»æã®ã¯ã©ã¹ãTT_PawnProximity-ä»»æã®ããŒã³ïŒãã¬ã€ã€ãŒãããããŸãã¯ã¢ã³ã¹ã¿ãŒïŒãTT_PlayerProximity-ãã¬ã€ã€ãŒã®ã¿ãTT_ClassProximity-ç¹å®ã®ã¯ã©ã¹ïŒClassProximityTypeããããã£ã§æå®ããããããžã§ã¯ã-ile_Shoo ïŒãŸãã¯å³æã¢ã¯ã·ã§ã³ã§æŠåšããååŸãã€ãŸãããã®ããªã¬ãŒã®TakeDamageïŒïŒé¢æ°ãåŒã³åºããŸãã æå·ã®ãããå€ïŒããªã¬ãŒãäœåãããã®ãã©ãã ãèŠçãïŒã¯DamageThresholdããããã£ã§æå®ãããŸãã
ããªã¬ãŒã¿ã€ããHTTLT_Triggerã§ããå Žåãããªã¬ãŒé¢æ°ãåŒã³åºãããå Žåã«ã®ã¿ããªã¬ãŒãããŸããããšãã°ãTagããããã£ïŒEventsã°ã«ãŒãïŒã§æå®ãããã€ãã³ããçºçããå Žåãªã©ã§ãã
bAutoExecãtrueã®å Žåãããªã¬ãŒã¯ã²ãŒã ã®éå§åŸã«èªåçã«ãªã¯ãšã¹ããè¡ããŸãã ããã¯ããµãŒããŒã®ç¶æ
ã«å¿ããããªã¬ãŒã®åæã€ã³ã¹ããŒã«ãã€ãŸãåæã«äœ¿çšãããŸãã
PlayerStartã䜿çšããéšå±ã®å
æºã¯éåžžã®å
æºã§ãã ããªã¬ãŒã«ãŒã ã®å€©äºå
æºã¯TriggerLightã§ãã LEDã®ç¶æ
ãè€è£œããŸãã åãéšå±ã®ä»ã®2ã€ã®å
æºã¯ãåã«ããã«ãç
§ãããŸãã æåã®å Žæã¯TriggerLightã§ãã Actorã¯ã©ã¹ïŒ
Actor \ Lightã«ãããŸã ïŒã§éžæãã倩äºãã¯ã¹ãã£ã®RMBãã¯ãªãã¯ããŠãAdd TriggerLightãéžæããŠè¿œå ããŸãã äœããã®çç±ã§ã¯ã©ã¹ãã©ãŠã¶ã«2ã€ãããŸãããã©ã¡ããæ©èœãããããã©ã¡ãããéžæããŸãã
TriggerLightã°ã«ãŒãã®ããããã£ã«ã¯è§ŠããŸãããbInitiallyActiveã¯falseã§ããããã§ãã ãªããžã§ã¯ãã°ã«ãŒããéããInitialStateãTriggerControlã«å€æŽããŸãã ããããã£ãã¯ãªãã¯ããŠãããããããŠã³ã¡ãã¥ãŒã衚瀺ãããªãå ŽåïŒWin 7ã§ã®ãã°ã®å¯èœæ§ïŒãç¢å°ãããŒããŒãããå·Šå³ã«ç§»åããŸãã æ¬¡ã«ãã€ãã³ãã°ã«ãŒããéããã¿ã°ã[ãªã]ããåèªã«å€æŽããŸãã
ããªã¬ãŒã¯åãæ¹æ³ã§è¿œå ãããŸãïŒ
ã¢ã¯ã¿ãŒ\ããªã¬ãŒ\ããªã¬ãŒã«ãããŸã ïŒã ããã«ãæãããšãã§ããŸãã-ç§ã¯ãããªãçè§£ããããããŸããã Mine.utxã®ãã¯ã¹ãã£ã
ããªã¬ãŒã®ããããã£ã衚ã«ç€ºããŸãã
| HTTPTrigger0 | HTTPTrigger1 | HTTPTrigger2 |
bAutoExec | åœ | åœ | æ¬åœ |
BrowseArg | /ïŒcmd = on | /ïŒcmd = off | / |
BrowseURL | 192.168.0.40 | 192.168.0.40 | 192.168.0.40 |
HTTPTriggerLaunchType | HTTLT_Touch | HTTLT_Touch | HTTLT_Trigger |
SearchNotInRespCancelEvent [0] | ã©ã€ãã³ | ã©ã€ãã³ | ã©ã€ãã³ |
SearchRespEvent [0] | ã©ã€ãã³ | ã©ã€ãã³ | ã©ã€ãã³ |
SearchRespData [0] | LEDã®ç¶æ
ïŒ<br>ãªã³ | LEDã®ç¶æ
ïŒ<br>ãªã³ | LEDã®ç¶æ
ïŒ<br>ãªã³ |
ãµãŒããŒãšã©ãŒããã£ããããå Žåã¯ãHTTPErrCode []ããããã£ã«ãã®çªå·ãæžã蟌ã¿ãŸãïŒããšãã°ã404ã403ã302ãªã©ïŒã
çµæ
Bratunyaã¯ãã§ã«ãããªã®äžã§1ã€ã®ã³ã¡ã³ããæžããŠããã圌ã¯åã«ããã»ã¹å
šäœã«åè¡ããã ã©ããããæ¥œãã¿ã®ããã«ã圌ã¯ã¢ããŒããæããåœŒã®æããã«ãããã«ã¹ããŒãããŠã¹ã®å¶åŸ¡ãçµã³ã€ããããšã«æ±ºããŸããã ãããããã¡ããããããGETãªã¯ãšã¹ãã®å¯äžã®çšéã§ã¯ãããŸããã ããšãã°ãã»ã³ãµãŒã®èªã¿åãå€ã«å¿ããŠãå¿
èŠãªå€§æ°çŸè±¡ãæã€ãã¬ãŒã€ãŒã®ã«ãŒããèªã¿èŸŒãUTãµãŒããŒãäœæã§ããŸãã äžè¬çã«ãä»ã§ã¯Webã€ã³ã¿ãŒãã§ãŒã¹ãæ¬åœã«ã«ã©ãã«ã«ããããšãã§ããŸãã