Volledige versie bekijken : The Logic Lab
Neuro
%Europe/Berlin %714 %2009, 17:09
Hallo,
Na het zien van een hoop coole node based applicaties (Hobnox Audiotool, Peacock,... ) besloot ik zelf eens wat experimenteren met de achterliggend logica van zo'n systeem.
Het resultaat is the Logic Lab. Ik zit in de laatste fase van testen en afwerken, dus het werd tijd om eens een beta te releasen. Veel uitleg ga ik er niet bij geven, zodat ik kan zien of het duidelijk voor iedereen is.
The Logic Lab (http://www.neuroproductions.be/logic-lab)
Alvast bedankt voor het melden van bugs en fouten (ik weet niet zeker of de flipflops wel doen wat ze moeten?)
Ook is de Voorbeelden/showcase sectie nog erg leeg, dus als je iets leuks hebt gemaakt, mag je altijd je schakeling-url of het id hier posten.
Commentaar en suggesties zijn natuurlijk ook erg welkom.
Bedankt!
http://www.neuroproductions.be/uploads/blog/logiclab.jpg (http://www.neuroproductions.be/logic-lab)
ps: Voor de pathfinding heb ik de erg fijne AS3 A* van Dauntless gekregen, waarvoor dank! :)
[edit]
Voor de mensen die geintereseerd zijn heb ik de volledige source bijgevoegd (flex actionscript project - sdk 3.2, FP 10)
Ik moet er wel bijvertellen dat dit om een uit de hand gelopen experimenteel project is. Dus het is hier en daar echt 'vuile' ongestructureerde code. Eigen componenten maken gaat wel redelijk eenvoudig, gewoon de Node class extenden en hier en daar wat overriden (zie de andere componenten als voorbeeld). Daarna de classe adden in de buildAccordeon functie in de document class, en je bent vertrokken. Dus als je je geroepen voelt om zelf componenten te maken, laat je dan vooral gaan. Als ze een meerwaarde betekenen voor de app voeg ik ze met plezier toe :)
WernerL
%Europe/Berlin %717 %2009, 17:12
Dit ziet er erg nice uit. :D
Heel tijdje terug ook nog eens met quest3D gespeeld, dat is exact hetzelfde principe enkel om ubervette 3d games mee te bouwen zonder 1 regel te hoeven programmeren.
Het werkt logisch voor mij, mischien omdat ik al eens eerder met zo'n soort systeem heb gewerkt, maar iig.. nice job !
DERIJK
%Europe/Berlin %717 %2009, 17:13
ah op het eerste gezicht erg cool! ik zal er nog eens met de fijna kam overheen gaan. lijkt lekker intiutief te werken en ziet er goed uit!
Neuro
%Europe/Berlin %784 %2009, 18:49
Bedankt voor de respons, fijn dat het intiutief is, hier vreesde ik wat voor :)
W0utR
%Europe/Berlin %839 %2009, 20:09
Ik heb ook ff iets gemaakt om te testen: http://www.neuroproductions.be/logic-lab/index.php?id=57
Was wel leuk :)
Zeer leuk gemaakt
mknol
%Europe/Berlin %997 %2009, 23:56
Wow errug koel!! Goed bezig! Leuk project zeg. Hoewel ik niets van flipflops en elektronica snap, vind ik het wel interessant hoe je dit opgebouwd heb. Kun je misschien iets delen over je aanpak van hoe nodes gelinkt zijn en verband houden met elkaar (qua code/structuur). Is het op basis van composition?
p.s. hoe werken die kabeltjes?
WernerL
%Europe/Berlin %437 %2009, 10:29
Ik ga er vanuit dat elke node 1 class is en properties bevat waarin opgegeven staat met welke node deze verbonden is... oid. :)
Zo zou ik het doen. :P
Neuro
%Europe/Berlin %461 %2009, 11:05
Ja, zoiets is het ongeveer, het is niet echt een zuiver composite patern, maar dat principe zit er in.
Ik heb drie basis objecten:Nodes (de componenten), ConnectionPoints (de verbindings punten) en connecties (voorgesteld door de kabeltjes).
Elk component extends de Node Class en overschrijft een build en run methode.
build: hier maak ik de grafische schil en maak ik connectie punten (die worden gepushed in een input en output array )
run: kijkt wat er binnen komt via de input punten, berekent en set de output punten, waardoor de connectie wordt upgedate (en eventueel van kleur veranderd), en de run wordt uitvoerd bij de child componenten.
Dus er is geen centrale plek waar alle componeten worden bijgehouden. Via de connecties hebben ze enkel een referentie naar hun child componenten.
Op die manier is het erg eenvoudig om nieuwe componenten aan te maken. :)
De kabels zijn gewoon lijnen met een bevel en een dropshadow filter. Ze vinden hun weg dankzij op een grid de pathfinding classes van Dauntless. :)
b-here
%Europe/Berlin %493 %2009, 11:50
erg netjes! Het werkt erg makkelijk en gebruiksvriendelijk, het ziet er ook weer mooi uit. Alleen ik heb geen scroll in ie, wel in firefox.
Gollum
%Europe/Berlin %542 %2009, 13:01
Beetje jammer dat het verwijderen alleen kan door uit de stage te slepen. een klein prullebakje zou dat duidelijker maken.
Neuro
%Europe/Berlin %714 %2009, 17:09
Bedankt voor de comentaar
Alleen ik heb geen scroll in ie, wel in firefox.
gefixed :)
Beetje jammer dat het verwijderen alleen kan door uit de stage te slepen. een klein prullebakje zou dat duidelijker maken.
Ja misschien wel (hoewel er eerst een was, en ik het later heb weggehaald)
Ik zal er nog eens over nadenken :)
bouke_
%Europe/Berlin %784 %2009, 18:50
Ik ben ook eff aan het prutsen geweest... alleen werkt bij mij het opslaan niet. Want ik kan een bestand namelijk later niet meer openen, hij opent dan gewoon een lege pagina
Misschien werkt het openen bij iemand anders: http://www.neuroproductions.be/logic-lab/index.php?id=70 Een teller die ik gemaakt heb, als je op de batterij links onder in drukt telt hij van 1 t/m 9, als het niet werkt, hier een screenshot: http://dhost.info/110742/downloads/flashfocus/teller.jpg
Neuro
%Europe/Berlin %795 %2009, 19:05
mmm, Ik heb het al voor een deel opgelost, er zat een foutje in het opslaan vd delay. Heb jou voorbeeld in de database aangepast.
Maar er loopt nog iets fout. Kan je je screenshot misschien hier oploaden. Via die link kan ik het niet zien (Error 403 Forbidden)
Ziet er wel iets cool uit wat je hebt gemaakt :)
Jan
%Europe/Berlin %588 %2009, 14:07
Heel erg mooi gemaakt Neuro en leuk om wat mee te spelen en experimenteren.
Het slepen uit de stage vind ik handiger dan dat je het naar een (klein) prullenbakje zou moeten slepen.
Wat het helemaal top zou maken is een ctrl+c ctr+v optie zodat je met de muis ganse groepen van objecten kan selecteren, kopiëren en plakken.
Aangezien niemand het zegt probeer ik het stilletjes: showcase.
Groeten,
Jan
bouke_
%Europe/Berlin %614 %2009, 14:44
mmm, Ik heb het al voor een deel opgelost, er zat een foutje in het opslaan vd delay. Heb jou voorbeeld in de database aangepast.
Maar er loopt nog iets fout. Kan je je screenshot misschien hier oploaden. Via die link kan ik het niet zien (Error 403 Forbidden)
Ziet er wel iets cool uit wat je hebt gemaakt :)
hmm inderdaad het werkt nu, alleen is mijn "ding" maar half geladen...
_______________________________________________
EDIT
http://www.neuroproductions.be/logic-lab/index.php?id=74 Om de nieuwe teller werkent te krijgen moet je de twee rijtes met tellers waar steeds 1000 opstaat veranderen in 1000 t/m 5000. Dus Rijtje 1 (verticaal): 1000,2000,3000,4000,5000. en dit zelfde met rijtje 2.
En de teller aan de rechterkant van de batterij moet ook op 5000 staan. Daarna druk je op de batterij, en hij telt van 1t/m 9 en daarna weer op 0
Volgende stap: een teller t/m 99 als dat lukt XD
Aangezien niemand het zegt probeer ik het stilletjes: showcase.Ben ik het helemaal mee eens!, dan doe ik het wel in het groot:
SHOWCASE
Mr. Black
%Europe/Berlin %834 %2009, 20:01
Nice, good job! :)
Showcase idd! :D
ninetynine
%Europe/Berlin %622 %2009, 14:55
Vet gemaakt!
Het wordt wel wat cpu intensief als je wat overdrijft met elementen.
Ook krijg ik errors bij het openen van sommige bestaande circuits.
Maar dit heb je al opgelost zeker ?
Showcase als het af is |)
AStarError[0] message: The start tile is not a valid tile
at be.dauntless.astar::Astar/abort()[C:\Documents and Settings\Eigenaar\Mijn documenten\flex_workspace\LogicLab2\src\be\dauntle ss\astar\Astar.as:404]
at be.dauntless.astar::Astar/ready()[C:\Documents and Settings\Eigenaar\Mijn documenten\flex_workspace\LogicLab2\src\be\dauntle ss\astar\Astar.as:382]
at be.dauntless.astar::Astar/getPath()[C:\Documents and Settings\Eigenaar\Mijn documenten\flex_workspace\LogicLab2\src\be\dauntle ss\astar\Astar.as:186]
at be.neuroproductions.nodes::VisualConnections/drawConnection()[C:\Documents and Settings\Eigenaar\Mijn documenten\flex_workspace\LogicLab2\src\be\neuropr oductions\nodes\VisualConnections.as:83]
at be.neuroproductions.nodes::VisualConnections/addConnection()[C:\Documents and Settings\Eigenaar\Mijn documenten\flex_workspace\LogicLab2\src\be\neuropr oductions\nodes\VisualConnections.as:36]
at be.neuroproductions.nodes::NodeContainer/startConnect()[C:\Documents and Settings\Eigenaar\Mijn documenten\flex_workspace\LogicLab2\src\be\neuropr oductions\nodes\NodeContainer.as:111]
at be.neuroproductions.proj.electronics.model::DataMo del/parseInput()[C:\Documents and Settings\Eigenaar\Mijn documenten\flex_workspace\LogicLab2\src\be\neuropr oductions\proj\electronics\model\DataModel.as:204]
at be.neuroproductions.proj.electronics.model::DataMo del/onSuccessLoad()[C:\Documents and Settings\Eigenaar\Mijn documenten\flex_workspace\LogicLab2\src\be\neuropr oductions\proj\electronics\model\DataModel.as:175]
Neuro
%Europe/Berlin %646 %2009, 15:31
als het af is |)
Dat vind ik ook ;)
Het staat op men (veel te lange) todo lijst. Maar andere dingen hebben even voorrang. Even geduld dus :)
sanderd
%Europe/Berlin %746 %2009, 17:54
Doet me denken aan wiremod van garry's mod :)
Echt mooi gemaakt, showcasemateriaal.
Jammer dat de verschillende soorten flipflops nooit werden behandeld in m'n fysica, maar de voorbeelden snap ik ongeveer.
Nice, voor uitbreiding vatbaar! ;)
Nidd
%Europe/Berlin %472 %2009, 11:19
Vet, mooi uitgewerkt, concept!
Grtz,
Niels.
Neuro
%Europe/Berlin %590 %2009, 14:10
Voila, hij is volgens mij bugvrij. Verder is hij ook geoptimaliseerd zodat ook wat grotere circuits nu heel vlot blijven werken (in de mate van het mogelijke, soms zijn het gewoon erg veel berekeningen die hij moet doen)
Ook worden nu de "states" van de soundcom, timers en delays mee opgeslagen
Het kan wel zijn dat reeds opgeslagen circuits nu niet meer werken.
+ voor de geïnteresseerde heb ik de volledige source code en designs in bijlage toegevoegd
Veel plezier ermee :)
Dauntless
%Europe/Berlin %592 %2009, 14:13
+ voor de geïnteresseerde heb ik de volledige source code en designs in bijlage toegevoegd
Veel plezier ermee :)
Crap, dan moet ik zien dat m'n A* snel ergens online komt te staan .... :p
Neuro
%Europe/Berlin %603 %2009, 14:28
Crap, dan moet ik zien dat m'n A* snel ergens online komt te staan .... :p
oww, daar had ik even niet aan gedacht (nu heb ik hem eigenlijk onofficieel gereleased)
Als je er een probleem mee hebt haal ik hem er wel even terug af?
btw, laat zeker iets weten als hij online staat, zodat ik de nodige links kan toevoegen
ath92
%Europe/Berlin %575 %2009, 13:48
SHOWCASE
Bij deze ;)
Good job!
matzo
%Europe/Berlin %659 %2009, 15:49
Het werkt echt intuitief en handig Neuro! Goed werk.
Hedwig
%Europe/Berlin %681 %2009, 16:21
Pure classe (let op de woordspeling)
:)
1rv34
%Europe/Berlin %848 %2009, 20:22
Dit heb ik er mee gemaakt:
Automatic off timer
Boven: aanknop.
Midden: timer (hoe lang hij moet wachten totdat hij de ventilator af moet zetten.
Onder: knop of timer aan moet staan of niet.
http://www.neuroproductions.be/logic-lab/index.php?id=93
Motion and sound detector
Bovenste als hij aan staat kijkt of er word bewogen.
Onderste als hij aan staat kijkt of er geluid word gemaakt.
http://www.neuroproductions.be/logic-lab/index.php?id=94
The music machine
http://www.neuroproductions.be/logic-lab/index.php?id=96
FOUTJE: de camera input vervangt hij door die rode knop bij het opslaan/openen.
Den_Dove
%Europe/Berlin %739 %2009, 17:44
Ziet er fancy uit !
Vond het best fijn om er even mee te prullen :)
Knap werk !
Sabbie
%Europe/Berlin %965 %2009, 23:10
Wat ik mis: Een manier om je level naar je vrienden te versturen met behulp van een link. Alle controls en draadjes en vooral geluid hoogte.
Dit (bijlage) is namelijk vrij gaaf..
Neuro
%Europe/Berlin %987 %2009, 23:42
Bedankt voor de reacties :)
FOUTJE: de camera input vervangt hij door die rode knop bij het opslaan/openen.
Daar zat idd nog een foutje, dat is er nu uit :)
Wat ik mis: Een manier om je level naar je vrienden te versturen met behulp van een link. Alle controls en draadjes en vooral geluid hoogte.
Dat zit er in (rechter knopje onder de componenten) :)
hier is bv jou schakeling:
http://www.neuroproductions.be/logic-lab/index.php?id=102
Sabbie
%Europe/Berlin %096 %2009, 02:18
Aah, stom..
Maar die van jou klinkt nergens naar.
http://www.neuroproductions.be/logic-lab/index.php?id=103
dcm360
%Europe/Berlin %687 %2009, 16:30
O jee, o jee, wat een leuk speelgoed :D
Deze (http://www.neuroproductions.be/logic-lab/index.php?id=104) heb ik net gemaakt. Een taart voor degene die m beter kan :P (En ook 1 voor degene die raad wat ik van plan was en het wel goed bouwt).
Oja, hoeveel objecten kan je opslaan? Ik mis er een stuk of 6...
En nog eentje, genaamd esthetiek (http://www.neuroproductions.be/logic-lab/index.php?id=112) :P
kinkstar
%Europe/Berlin %763 %2009, 18:19
http://www.neuroproductions.be/logic-lab/index.php?id=123
bug? zou moeten werken maar doet het niet helemaal super
Neuro
%Europe/Berlin %817 %2009, 19:36
bug? zou moeten werken maar doet het niet helemaal super
Wat zou hij juist moeten doen? enig idee waar het mis loopt?
kinkstar
%Europe/Berlin %489 %2009, 11:44
de ene keer tellen de binairy outputs op en dan weer af. Heb gebruik gemaakt van jou "code" alleen wat AND ports erop geplakt maar de output is niet consistent
Koen!
%Europe/Berlin %535 %2009, 12:51
de ene keer tellen de binairy outputs op en dan weer af. Heb gebruik gemaakt van jou "code" alleen wat AND ports erop geplakt maar de output is niet consistent
Heb even naar je diagram gekeken, maar zo te zien doen alle afzonderlijke poorten wat ze moeten doen hoor. Of zie ik iets over het hoofd?
VeeWee
%Europe/Berlin %576 %2009, 13:50
Super applicatie!
Na tien minuten prutsen heb ik "kwis af-drukknoppen" gemaakt voor 2 ploegen. Bij reset van de lampen klinkt er 2 seconden een muziekje :p Wat een tijdsbezigheid!
http://www.neuroproductions.be/logic-lab/index.php?id=139
Leukleuk
VeeWee
%Europe/Berlin %482 %2009, 11:34
Toch een bug gevonden:
http://www.neuroproductions.be/logic-lab/index.php?id=147
Update van bovenstaande kwisknoppen. Er mag enkel een reset gebeuren als er iemand heeft afgedrukt.
Bovenste knop = reset knop. Werkt alleen als er een lichtje brand en het muziekje mag maar 1 keer afspelen.
Alles werkt dus zoals het zou moeten.
Enkel als het bovenste lichtje brand en je gebruikt de resetknop. Dan is er geen muziekje.
Als het onderste lichtje brand, dan werkt het wel. Ook al is er vanaf die of-poort vanachter dezelfde status als bij het bovenste lichtje..
Logisch gezien zou dit moeten werken en is dit dus een foutje in uw code :)
Groeten
VeeWee
Geert9
%Europe/Berlin %861 %2009, 21:40
http://www.neuroproductions.be/logic-lab/index.php?id=149
3-bit counter met microfoon ingang signaal ^^
MAST
%Europe/Berlin %745 %2009, 18:53
Ja dat is echt tof
Dikke respect voor het gemak en de layout, prachtig prachtig ;) ;)
zoiets moesten wij voor school doen , met het programma Systeembord , ik had toen mbv microfoon een alarm voor mn kamer gemaakt, ga ik s met jouw Logic Lab doen.
vet! super!
*edit*
Ik heb het alarm gemaakt. Je drukt op het bovenste knopje, loopt je kamer uit (tot 5 sec na het knopje indrukken kun je lawaai maken). Als je vervolgens weer naar binnen wilt detecteert het programma je lawaai , en tot 5 sec na dat lawaai heb je de tijd om het uitknopje in te klikken , anders gaat het alarm af. Het onderste knopje is het alarm uitzetten, en het middenste knopje de microfoon die lawaai detecteert. De ventilator is het alarm.
http://www.neuroproductions.be/logic-lab/index.php?id=277
dennisvdz
%Europe/Berlin %655 %2009, 16:43
Lol.
Ik snap er niks van, van die flipflopdingen XD.
Toch wat lolligs:
http://www.neuroproductions.be/logic-lab/index.php?id=290
CasJ
%Europe/Berlin %816 %2009, 20:35
http://www.neuroproductions.be/logic-lab/index.php?id=324
Vind hem zelf wel leuk gelukt! mooi werk
bernard1980
%Europe/Berlin %745 %2009, 18:52
deze is echt super :-)
Jan
%Europe/Berlin %131 %2009, 04:08
Ik heb een korte delay (1 à 2 seconden) bij het laden van zo'n opgeslagen schakeling (vooral bij grotere) en nu zag ik dat er wel heel erg veel (pagina's lange xml) naar de trace output moet. Dat vertraagt de swf op dat moment, dus een publieke versie compilen met 'omit trace actions' is misschien een idee. ;)
gogogo :D
Groeten;
Jan
simoenss
%Europe/Berlin %626 %2009, 16:02
http://www.neuroproductions.be/logic-lab/index.php?id=457
wel even alle knoppen aan doen
Tweetie076
%Europe/Berlin %381 %2009, 10:09
Heel erg vet :)
MoonChild
%Europe/Berlin %619 %2009, 15:52
Het is erg leuk gemaakt en ziet er goed uit!
Didel
%Europe/Berlin %072 %2009, 02:44
Wow... Ziet er erg netjes uit, en werkt volgens mij idd 'like a charm'. Dit doet me overigens wel heel erg denken aan een klein programmaatje dat ik heel vaak tijdens de natuurkunde lessen op school heb gebruikt, om software-matig te experimenteren op het systeembord, zie: http://www.sools.nl/?menu=tomsoft&page=sysbord . In principe vind ik dat geen geweldig programma, maar het doet wat t moet doen... Ook al zit jouw versie er stukken gelikter uit, zou je kwa componenten misschien nog wel wat dingetjes tegen kunnen komen die leuk zouden zijn om in te bouwen.
Wat je ook zou kunnen doen is om elk component een naam te geven, die je er onder weergeeft, of bijvoorbeeld bij een mouse-over te zien krijgt. Voor de rest, een zeeeeer netjes programma :)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.