This site requires JavaScript, please enable it in your browser!
Greenfoot back
SP00F3R
SP00F3R wrote ...

2013/5/15

Scrolling Text Box

SP00F3R SP00F3R

2013/5/15

#
I'm trying to create a scrolling text box that isnt able to be edited. Has anyone got a scenario that contains one that I could look at? Many thanks, SP00F3R
Gevater_Tod4711 Gevater_Tod4711

2013/5/15

#
Does this textfield demo help you? I added a funktion to enable or disenable the textfields.
danpost danpost

2013/5/18

#
A simple class for a scolling textbox might look like the following:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import greenfoot.*;
import java.awt.Color;
 
// objects of this class will have text scroll within a textbox from right to left
public class Marquee extends Actor
{
    private GreenfootImage baseImg, textImg;
    private int scrollAmt;
 
    public Marquee(String text)
    {
        baseImg = new GreenfootImage(100, 20);
        baseImg.drawRect(0, 0, 99, 19);
        setText(text);
        updateImage();
    }
 
    // allows setting/changing of scrolling text
    public void setText(String text)
    {
        GreenfootImage stringImg = new GreenfootImage(text, 16, Color.black, new Color(0, 0, 0, 0));
        textImg = new GreenfootImage(stringImg.getWidth(), 20);
        textImg.drawImage(stringImg, 0, 10-stringImg.getHeight()/2);
        scrollAmt = baseImg.getWidth(); // reset scroller
    }
 
    // creates the image to display at current scroll position
    private void updateImage()
    {
        GreenfootImage image = new GreenfootImage(baseImg);
        image.drawImage(textImg, scrollAmt, 0);
        setImage(image);
    }
 
    // runs the scrolling of the text
    public void act()
    {
        scrollAmt--;
        if (scrollAmt ==-textImg.getWidth()) scrollAmt = baseImg.getWidth();
        updateImage();
    }
}
You need to login to post a reply.