Delegare un metodo per la gestione delle collisioni - Versione stampabile +- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi) +-- Forum: Unreal Engine & Unreal Development Kit (UDK) Italia (https://www.making-videogames.net/giochi/Forum-Unreal-Engine-Unreal-Development-Kit-UDK-Italia) +--- Forum: Richieste di Aiuto per UDK e Unreal Engine 4 (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-UDK-e-Unreal-Engine-4) +--- Discussione: Delegare un metodo per la gestione delle collisioni (/thread-Delegare-un-metodo-per-la-gestione-delle-collisioni) |
Delegare un metodo per la gestione delle collisioni - samuele55598@gmail.com - 19-03-2017 Eccomi ancora, ho girato tutto il possibile immaginabile e ho notato che la documentazione di UE è a dir poco scandalosa, comunque...sto tentando di ricreare il progetto di unity della sfera che ruota dove bisogna collezionare i cubi, e nel creare la classe del cubo ho un problema, la gestione delle collisioni per l'appunto. L'obiettivo e distruggere il cubo e accumulare il punto, per farlo devo "creare" un metodo per rilevare la collisione. A tal fine ho trovato OnComponentHit.Add() ho capito che come parametro ci va un delegato ovvero (se ho ben capito) un metodo da chiamare quando occore quell'evento (un pò come succede per l'input). Dopo questa infinita prefazione, il codice è il seguente: Codice: UPROPERTY() Errore (attivo) non esiste alcun costruttore adatto per eseguire la conversione da "void (AtoCatch::*)(AActor *other, UPrimitiveComponent *otherComp, FVector normalImpulse, const FHitResult &hit)" a "TScriptDelegate<FWeakObjectPtr>" Rolling_learn_cpp c:\Users\Samuele\Documents\Unreal Projects\Rolling_learn_cpp\Source\Rolling_learn_cpp\toCatch.cpp 17 non so cosa fare, con cose basilari in quanto essenziali come le collisioni la documentazione è carente, figuriamoci con cose di più alto livello...non mi sorprende che Unity sia più popolare -.- Ah gia...grazie per la considerazione :3 RE: Delegare un metodo per la gestione delle collisioni - samuele55598@gmail.com - 19-03-2017 Trovata la risposta...se non venivo qui a rompere non l'avrei trovata, sperduta in quel blog...comunque ecco qui spero possa esser d'aiuto per qualcuno: <code> TScriptDelegate<FWeakObjectPtr> delegateFunction; delegateFunction.BindUFunction(this, "nomeDelMetodo"); // Say when you want the delegate function to be run (in this case, On overlap of components) CollisionSphere->OnComponentHit.Add(delegateFunction); </code> RE: Delegare un metodo per la gestione delle collisioni - friskon - 19-03-2017 Grazie, potrebbe tornare utile! |