Databas<->PHP<->JavaScript<->Canvas = confuzzled

Permalänk

Hittade en annan lösning här: http://www.html5canvastutorials.com/labs/html5-canvas-drag-an...
Den uppfyller det mesta jag behöver, förutom emot botten, där den av någon anledning slutar vara dynamisk och använder statiska deklarationer av bildkällorna. Jag prövade med for-loop, men den vill ju inte ha variabler i sources >.<

Vet någon en bättre guide? (den sidan är den enda jag hittat med någorlunda vettiga guider till kinetic.js)

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk
Medlem

Jag har lekt runt lite nu med lösningen du länkade...försökt anpassa den för dina behov...du hittar den här http://jsfiddle.net/xCjRT/

I metoden getImages() så får du ju då ladda in dina egna bildvärden ist för mina statiska (kom ihåg strukturen bara),
variabelnamnen är inte så jäkla bra på alla ställen men jag hoppas du förstår vad som händer.

Permalänk

Den tackar vi hjärtligt för. Kommer gå genom koden och försöka lära mig strukturen och skriva om för att passa min applikation.

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk

Ok, jag tycks ha ett problem jag har svårt att komma runt, även i detta skript. När jag klickar på en bild i min sidebar vill jag att den skall läggas till i ritytan. Det är inga större problem, förutom när det kommer till att rita ut den.
Utritningen görs ju onWindowLoad, finns det en event handler som säger något liknande onArrayChange?

Varje bild jag lägger till hamnar ju i den array du kallade Test, så jag tycker det verkar smidigast att lyssna på vad som händer där. Om en bild läggs till där, så vill jag uppdatera ritytan och lägga till bilden. Om en bild plockas bort från arrayen, vill jag att den även plockas bort från ritytan.

Så som det är nu, så måste jag ladda om hela rutan, men då töms ju arrayen och det är inte direkt smidig lösning.

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk
Medlem

Skrev om lite och förenklade så att det nu borde vara ännu mer dynamiskt. Om du nu klickar på bilden så läggs den in automatiskt i canvas. Kanske hjälper dig lite till...

http://jsfiddle.net/rLxru/

På något vis så måste du dock ha en array med all data för varje bild (description,x,y) matchad med de bilder som visas i din "imagebox". Så att när du klickar på en bild så matchas, låt säga den klickade bildens id, med samma id i info arrayen, och rätt data kan användas för att sätta in den nya bilden i canvas på rätt X,Y o.s.v

Varje bild läggs in på sitt eget layer, så du måste nog komma på något sätt att hålla reda på vilken bild som ligger på vilket layer om du vill kunna ta bort bilder en och en, utan att ta bort hela stage.

Permalänk

Utan att ha läst din nya kod har jag haft tankar om just det med ett lager per bild. Jag skulle kunna pusha in varje lager i en array och använda mig av ett attribut till: ID.
Varje layer som läggs ut på canvasen får ett ID, när man vill ta bort ett lager (räcker med att senaste kan tas bort, simpelt nog), så tas bara det senaste ID't bort, poppas från arrayen och lagernas tillfälliga minne rensas och ritas ut på nytt.

[edit]: Löste det problemet, återigen slarvfel (de är så fruktansvärt svåra att se ibland >.<)

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk

Nu har jag en lösning som är en rejäl frankenstein av din tidigare testkod och min gamla icke-kinetic-canvas-kod. Lite saker att reda ut (som varför Draggable inte funkar helt plötsligt), men jag tror att grunden är klar.

Tack för all hjälp, jag tror jag förstår mycket mer av logiken bakom JavaScript tack vare din hjälp.

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk
Medlem

Gött, ta bara fram nåt som funkar tilll att börja med, sen kan man gå in och finslipa.

Permalänk

Jo, nu funkar resten av koden, skall bygga härifrån, resten är finslipet, men draggable är en av nyckelfunktionerna så det är den sista grovkodningen. Skall nog få ordning på det till slut!

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk
Medlem

Uppdaterat med dragbar bild! http://jsfiddle.net/Fc8XR/