You've completely lost me here..
If you are going to "push" the colors into the array, why not use the array as reference to create the visuals?
I have no idea what string chaining is and why you would need it, it sounds like what you want to do is relatively easy.
You should probably use the function object to create the action, for all actions are almost the same, only the variables change, so if you put these in the correct spot in the function it will all go as planned..
Instead of creating at imagepoint 0 of the slotx object, why not create like this
variable SlotX = 0
variable SlotY = 0
on black pin object pushed call function ColorPicked with parameter 0 is black
On function ColorPicked
- Array set at xy : x=SlotX - Y=SlotY value = function.parameter(0)
-- If variable SlotX < 5
--- set SlotX : SlotX+1
-- If variable SlotX =5
---set SlotX : 0
---set SlotY : SlotY+1
on function draw
-array compare value at xy: 0,0 = black
- create object blacksprite at x=100+100*array.CurX - y=100+100*array.Cury..
Something like this should work..
By the way instead of making a lot of different sprites (black, blue,red,whatever) wich have everything incommen exept for there color, I would choose to use animations or animationframes of 1 sprite.. that way you only have to set the frame or animation to the color desired and all that has to be created is the same sprite over and over..
Youi get the drift..