nuther new newbie nuisance

Richmond Mathewson richmondmathewson at gmail.com
Wed Jun 15 03:12:05 EDT 2011


On 06/15/2011 09:13 AM, Timothy Miller wrote:
> Greetings,
>
> I thought I knew how to do this, but it isn't working out.
>
> I'm making a stack that will help me practice identifying birds. One card per species. Images and songs, mostly, plus a few fields for habitat, seasonality and so on. Some fields and buttons will be common to all cards, but most fields will not "share text." Each card will have different images.
>
> Chances are I will gradually add fancy bells and whistles. I'll want to hide the name of the species, for instance, forcing myself to name the species by song or image, then show the name to see if I got it right. That sort of thing. I think I know how to do most of what I plan.
>
> At the moment, I'm stuck on a basic problem, and I hope someone will help un-stick me.
>
> I want to be able to make a new card, quickly and conveniently, type the name of the species into a field designated for that purpose, then paste several images onto the card -- as many as desired.

The first thing you really need to do is set up a template card with 
your textField; perhaps
with a button next to it with the following type of script in it:

on mouseUp
   if the visible of field "TWEET" is true then
     set the visible of field "TWEET" to false
   else
     set the visible of field "TWEET" to true
   end if
end mouseUp

and a pair of navigation buttons to trot back and forth between your cards.

You can then duplicate the template as many times as you like: 
Edit/Duplicate Card
(this ONLY works when you have the Object Inspector open for the card).

> The total area of the images will be quite a bit larger than the total area of the card, so I want the images to scroll vertically while retaining their positions, relative to each other. I don't mind dragging the new images to their desired locations manually.
>
> There's something basic I'm not getting.
>
> I thought if I pasted several images onto a card, scroll bars would magically appear, which would scroll the images as a group. Not happening. Maybe backgrounds scroll but stacks and cards don't?

Hyuck, hyuck, hyuck. The difference between Livecode and "yer 
bog-standard flashcard thingy"
is VAST; Livecode is a full-blown programming language.

If you import a folder of images onto a card: File/Import As Control/All 
Images In Folder . . .

select them all: Edit/Select All

then select Object Inspector: Object/Object Inspector

then look at Align Objects: Distribute/Edge To Edge

then Group them: Object/Group Selected

then look at Size & Position in the Object Inspector and CENTRE your group,

set the group's width & height to what you want,

then look at Basic properties in the Object Inspector and select the 
Horizontal scrollbar.

At this point you should have a number of pictures of tweety-birds in a 
group such that you
can only see one picture at a time, and you can scroll left & right 
between them.

> I made a scrolling group, pasted multiple pictures in it. That works on one card. But if I set bgBehavior to "true," then "new card" duplicates all the pictures, and the pictures are shared between cards. I want different pictures on each card. If I set bgBehavior to "false," making a new card becomes complicated.
>
> (I'm a hyperCard retread, so setting bgBehavior to "false" don't come natchrel.)

Sadly, I have a feeling you will have to do this manually; or go a 
totally different route . . .

call your template card "TWEETY" via the Obj. Inspector.

Your template should NOT contain any images.

So; let's have a button on the template card called "DO IT BABY" with 
the following sort
of script:

on mouseUp
  clone card "TWEETY"
  set the name of card "TWEETY" to "TWEETY2"
--obviously this is a bit daft, you could have a field that counts the 
cards and assigns them numbers as they are cloned---

{this is where you can have your import routine}

select all

--this is where I get stuck as I cannot, for the life of me find out the 
language equivalents of
the alignment commands in the Obj. Inspector--

group the selected
call it "BLUETIT"
move group "BLUETIT" to 400,400 --always supposing your stack is 800,800--
set the width of group "BLUETIT" to 700
set the height of group "BLUETIT" to 600
set the hScrollbar of field "BLUETIT" to true

end mouseUp

> I don't need detailed instructions or scripts. Just a few hints.
>
> Maybe I need to make a scrolling stack with scrollbar buttons, which I would script as needed, instead of depending on the native scroll bars you get with a scrolling group? Hmm... In that case, I guess I'd need to place the scroll bars on each new card...
>
> Maybe I need to place a different group on each new card with bgBehavior set to false? Maybe a "new card" button with a script that places a new group on the new card, sets its rect and size and other characteristics?
>
> Maybe there's more than one way to do what I want... probably so...
>
>
> Thanks in advance.
>
>
> Tim
>
>
Sorry; I have a feeling all this will do is make you reach for the aspirin.

Richmond Mathewson.




More information about the use-livecode mailing list