Schrift
[thread]5059[/thread]

Tk-Frame löschen und neu erstellen -> Problem: war: "Kompliziert Lest es mal..."



<< >> 5 Einträge, 1 Seite
Gast Gast
 2005-08-20 11:01
#44394 #44394
Ich habe gerade Perl und PerlTK gelernt.
Da habe ich mir gedacht es wäre ein schönes Projekt ein kleines Spiel zu programmieren, und es ist auch schon fertig.

Doch es gibt ein Problem, ich habe einen Frame für das Spielfeld erstellt, und wenn man jetzt seine Figur steuert muss ich natürlich immer wieder diesen Frame löschen.

Das sieht nur leider nicht so schön aus, und bei Leuten mit wenig Arbeitsspeicher sieht es echt übel aus.
Da ja der ganze Frame(Der nur Bilder enthält) immer wieder gelöscht wird, bei jeder Bewegung.

Ich habe mir sagen lassen das es auch irgendwie gehen soll das, dass löschen nicht zu sehen ist, weiß einer vielleicht wie ?

Danke im vorraus.
M.f.G. Name
lichtkind
 2005-08-20 11:20
#44395 #44395
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
ich hab keine ahnung von tk aber jemand hat hier dein problem schon gelöst. suche mal nach pentris(tetris-clone) der hier unter projekte vorgestellt wurde.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Strat
 2005-08-20 13:25
#44396 #44396
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ohne genauere infos kann ich nur wenig sagen...

wenn du das ganze mit labels oder buttons und grid machst, dann kannst du dir einen button oder so herausholen und mit configure den hintergrund aendern, z.B.

Code: (dl )
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
43
44
45
46
47
#! /usr/bin/perl
use warnings;
use strict;

use Tk ();
use Tk::Dialog ();

my $mw = MainWindow->new();
my $frame = $mw->Frame()->pack();

use vars qw($Grey $Red);
$Grey = '#aaaaaa';
$Red = '#ff0000';

my @fields = ();
for my $j (1..20) {
my @row = ();
for my $i (1..10) {
push (@row, $frame->Label(-text => ' ', -background => $Grey,

-border => 1, -relief => 'sunken'));
} # for
push (@fields, \@row);
my ($first, @other) = @row;
$first->grid(@other);
} # for j

&SetColor(\@fields, 4,2, $Red);
for my $j (1..3) {
&SetColor(\@fields, 3,$j, $Red);
} # for

$mw->after('2000', sub {
for my $j (1..3) {
&SetColor(\@fields, 3,$j, $Grey);
&SetColor(\@fields, 4,$j, $Red);
} # for
&SetColor(\@fields, 5,2, $Red);
});

&Tk::MainLoop;
# ------------------------------------------------------------
sub SetColor {
my ($fields, $i, $j, $color) = @_;

$fields->[$i]->[$j]->configure(-background => $color);
} # SetColor
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2005-08-22 13:00
#44397 #44397
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Falls Du eine Canvas verwendest (wie ich bei Pentris), dann kannst Du Elemente darauf verschieben.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2005-08-22 19:28
#44398 #44398
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ein schöneres Widget als Canvas ist CPAN:Tk::Zinc man muss sich zwar erst einarbeiten, bietet aber ziemlich viele Möglichkeiten. Besonders gut ist die Gruppierungsmöglichkeit!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 5 Einträge, 1 Seite



View all threads created 2005-08-20 11:01.