Toon posts:

[Director Lingo] het goede script voor mijn kleurplaat?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Momenteel ben ik bezig met het maken van een CD-rom voor kinderen.

Nu wil ik er graag een kleurplaat in verwerken. Als je bijvoorbeeld op de groene knop drukt, moet director deze groene kleur in zijn geheugen laden.

wanneer je op het plaatje drukt (hiervoor heb ik een vector gemaakt, dit zou niet uit moeten maken)
moet hij de kleur "vrijlaten" en het plaatje inkleuren.

voor de knop heb ik de volgende behavior:
code:
1
2
3
4
5
6
7
8
global kleur

property kleur

on init
  kleur = paletteIndex(195)
  
end


voor het plaatje heb ik de volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
global kleur

property kleur

on mouseup me
on draw(me)
  
  Sprite(me.spriteNum).fillcolor = color(kleur)
end mouseup

end


hiernaast heb ik nog zo'n honderd andere dingen geprobeerd die ook niet werkten, maar laat ik jullie daar niet mee lastig vallen. Dit was mijn laatste probeersel in ieder geval.

director geeft bij het gebruiken van deze behaviors geen foutmelding.

kan iemand me helpen? Ik snap er he-lemaal niks meer van!
(heb gezocht in alle mogelijke databases, maar kon eigelijk alleen maar flash vinden en het moet echt in lingo)

[ Voor 16% gewijzigd door Verwijderd op 24-03-2006 17:21 ]


Verwijderd

Topicstarter
ik heb inmiddels de juiste codes te pakken gekregen, dus de topic kan eventueel gesloten worden :)

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 23-02 14:07

Tux

Verwijderd schreef op vrijdag 24 maart 2006 @ 18:27:
ik heb inmiddels de juiste codes te pakken gekregen, dus de topic kan eventueel gesloten worden :)
Misschien is het handig als je neerzet op welke manier het wel werkt. Dan hebben andere bezoekers met een vergelijkbaar probleem wat aan dit topic.

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Verwijderd

Topicstarter
ok, prima.

De volgende behavior plaats je over je palet/knopje, (dit kunnen meerdere kleuren zijn in 1 object, dat maakt niet uit.) Dit kan in principe elk plaatje zijn die je leuk vind.

code:
1
2
3
4
5
6
7
8
9
global selectedColor
on mouseenter
  _player.cursor (256)
on mouseUp me
  p = mapstagetomember(sprite(me.spritenum),the clickloc)
  selectedColor = sprite(me.spritenum).member.image.getPixel(p)
  
    _player.cursor (259)
end


die cursor hoef je er natuurlijk niet bij te doen, maar is misschine wel leuk. cursor 256 is het penseeltje wat je ook gebruikt in paint, en cursor 259 is de bucket die je ook van paint kent. Het wordt er immers alleen maar duidelijker van.

Het plaatje:

Het plaatje wat je in wilt kleuren moet een 8 bits bitmap zijn, anders werkt het niet. Om het plaatje er toch nog wat mooier uit te laten zien kan je er natuurlijk altijd een hogere bitmap overleggen (background transparant) zonder behavior.

Je gebruikt de volgende behavior vor het plaatje:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 property origImage
global selectedColor

on beginSprite me
  selectedColor = 0
  origImage = member("kleurplaat").image.duplicate()
end

on endSprite me
  member("kleurplaat").image = origImage
end

on mouseUp me
  thisImage = sprite(me.spriteNum).member.image
  p = mapstagetomember(sprite(me.spritenum),the clickloc)
  thisImage.floodFill(p, selectedColor)
  
end


waarbij "kleurplaat" de membernaam is van het gekozen plaatje.

zo moet iedereen het kunnen maken, succes! :)