Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-12-2005, 23:29   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 1
Question textfeld erstellen in tileBased-game

hallo,
keine ahnung ob ich hier richtig bin - bin ja schließlich neu hier und neu bei flash...

ich mache in tile-based game und in den tiles, die nur hintergrund sind möchte ich jetzt textfelder erstellen die dann einen random-buchstaben bekommen.
ich brauche die textfelder, da die steuerung über die tastatur geschehen soll, der user muss also zum steuern immer einen angrenzenden buchstaben (und die sollen randon sein) tippen.

hat jemand eine idee, wie ich das machen soll?

hier mal mein code-ausschnitt wie ichs versucht habe (nach einem tutorial)... allerdings werden die textfelder nicht angezeigt.

function buildMap(map) {
// attach empty mc to hold all the tiles and char
_root.attachMovie("empty", "tiles", 1);
// declare clip in the game object
game.clip = _root.tiles;
// get map dimensions
var mapWidth = map[0].length;
var mapHeight = map.length;
// loop to place tiles on stage
for (var i = 0; i<mapHeight; ++i) {
for (var j = 0; j<mapWidth; ++j) {
// name of new tile
var name = "t_"+i+"_"+j;
var name2 = name;
// make new tile object in the game
game[name] = new game["Tile"+map[i][j]]();
// attach tile mc and place it
game.clip.attachMovie("tile", name, i*100+j*2);
game.clip[name]._x = (j*game.tileW);
game.clip[name]._y = (i*game.tileH);
// send tile mc to correct frame
game.clip[name].gotoAndStop(game[name].frame);
// if tile is empty, place a letter
if(game[name].frame == 1) {
game.clip.createTextField(name2,i*100+j,(j*game.ti leW),(i*game.tileH),30,30);
game.clip[name2].border = true;
game.clip[name2].text ="a";
}

}
}

// add the character mc
game.clip.attachMovie("char", "char", 10000);
// declare clip in the game object
char.clip = game.clip.char;
// calculate starting position
char.x = (char.xtile*game.tileW)+game.tileW/2;
char.y = (char.ytile*game.tileW)+game.tileW/2;
// add char dimensions to char object, half of clips width and height
char.width = char.clip._width/2;
char.height = char.clip._height/2;
// place char mc
char.clip._x = char.x;
char.clip._y = char.y;
}
springingerl ist offline   Mit Zitat antworten
Alt 13-12-2005, 02:04   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
Post

hi und willkommen im flashforum,
hatte grad mal ein paar minuten übrig und da hab ich dir was in mx syntax gebastelt... das ganze sollte aber auch in mx2004 laufen... einfach ne neue fla machen, das as ins erste frame und veröffentlichen... kannste sicher die für dich wichtigen infos entnehmen!?

PHP-Code:
function createTexfieldMovieClip(txmcschriftfarbeboldsizeitalicunderlineurltargetxy) {

    var 
fo = new TextFormat();
        
    
fo.color farbe;
    
fo.font schrift;
    
fo.bold bold;
    
fo.size size;
    
fo.italic italic;
    
fo.underline underline;
    
fo.url url;
    
fo.target target;
    
    
mc.createTextField("txt"1002020);
    
mc._x x;
    
mc._y y;
    
mc.txt.autoSize true;
    
mc.txt.selectable false;
    
mc.txt.type "dynamic";
    
mc.txt.border false;
    
mc.txt.background false;
    
mc.txt.password false;
    
mc.txt.multiline false;
    
mc.txt.html false;
    
mc.txt.embedFonts false;
    
mc.txt.variable null;
    
mc.txt.maxChars null;

    
mc.txt.text tx.toUpperCase();
    
    
mc.txt.setTextFormat(fo);
    
}

function 
buildTexfields() {
    
    var 
0;
    var 
mc "";
    var 
path _level0;
    var 
arr = new Array("a""b""c""d""e""f""g""h""i""j""k""l" ,"m" ,"n" ,"o" ,"p" ,"q" ,"r" ,"s" ,"t" ,"u" ,"v" ,"w" ,"x" ,"y" ,"z");
    var 
ra 0;
    
    var 
iV setInterval(function () {
                                   
        
ra random(arr.length);

        
mc path.createEmptyMovieClip("mymovieclip" i1)
        
mc.= (20) * 20;
        
mc.Math.floor(20) * 20;

        
createTexfieldMovieClip(arr[ra], mc"arial"0xED7917true11falsefalse""""mc.xmc.20);
        
        
i++;
        
        if(
>= 500clearInterval(iV);
        
    }, 
25);
    
}

buildTexfields(); 

createTexfieldMovieClip("hier schreibst du deinen text rein"this.createEmptyMovieClip("mymovieclip"1000), "Verdana"0x990000true11truefalse""""00); 
die functions wären natürlich erweiterbar... so könnte man sonst noch alles mögliche per parameter mit übergeben usw usw...

cya, sal

ps

bei fragen fragen

pps... läuft auch in mx2004
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (13-12-2005 um 02:14 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 16-12-2005, 09:06   #3 (permalink)
lernwillig
 
Benutzerbild von 23012
 
Registriert seit: Jan 2002
Ort: auf dem Land
Beiträge: 1.327
Hallo,
hier möchte ich mich mal einklinken - daraus liesse sich
doch bestimmt ein nettes Spiel basteln. Die Idee: vorgegebener
Satz muss so schnell wie möglich auf (angrenzenden) Tasten
getippt werden. Hast Du noch weiter damit gemacht @ springingerl?
Ich persönlich habe noch nicht raus, wie salazars Skript da
angewandt werden kann, bin allerdings auch nicht so AS-bewandert.
Gruss
23012
__________________
[TUTORIAL] Nahtlose Muster erstellen in Photoshop
23012 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele