AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

break it problem

Ein Thema von speedy23 · begonnen am 31. Jan 2010 · letzter Beitrag vom 1. Feb 2010
Antwort Antwort
Seite 4 von 6   « Erste     234 56      
Benutzerbild von Lumpiluk
Lumpiluk

Registriert seit: 25. Dez 2008
110 Beiträge
 
#31

Re: break it problem

  Alt 31. Jan 2010, 18:23
dx und dy veränderst du doch, also müssen das Variablen sein. Global hast du sie aber als Konstanten desklariert und lokal dann nochmal als Variablen.
Nimm doch mal die lokalen weg und packe dx und dy noch unter das 'var' ganz oben. Die Werte (5) kannst du dann immer noch im OnCreate zuweisen...

[so viele Nachrichten in so kurzer Zeit... hoffe, es hilft trotzdem ]

//Edit: Ok, ich glaube, ich war gerade ganz woanders.
  Mit Zitat antworten Zitat
speedy23

Registriert seit: 11. Nov 2008
76 Beiträge
 
#32

Re: break it problem

  Alt 31. Jan 2010, 18:36
verdammt also langsam komm ich gar nich mehr klar... was muss ich jetzt durch was ersetzen? ich muss den konstanten ja nen wert zuweisen das habe ich ja mit 5 oben getan ich versteh gerade nicht was da falsch ist , was muss ich machen??

wieso warst du woanders...das erscheint mir gerade komisch da ja dx die konstanten sein sollen...? wenn ich denen oben nciht 5 zuweisen soll, was denn dann?

|edit
@eweiss danke für deine hilfe, das mit dem nciht annehmen ist nicht meine absicht, ich verliere nur langsam den überblick weil das worauf du dich beziehst sollte ich ein paar posts vorher noch auf das ändern was du nun kritisierst...

kann mit nicht vllt jemand einfach konkret zeigen wo mein fehler ist? das wäre echt sehr nett, ich sitze hier seit paar stunden und ändere ständig so wie in den posts und komme nicht 1 cm weiter...
...oh yeah...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#33

Re: break it problem

  Alt 31. Jan 2010, 18:37
In der Konstantendefinition schon
Markus Kinzler
  Mit Zitat antworten Zitat
speedy23

Registriert seit: 11. Nov 2008
76 Beiträge
 
#34

Re: break it problem

  Alt 31. Jan 2010, 18:40
na wo denn dann sonst? oben global hab ich denen 5 zugewiesen, bitte sag mir doch einfach wo der fehler liegt i krieg hier gleich nen nervenkollaps
...oh yeah...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#35

Re: break it problem

  Alt 31. Jan 2010, 18:43
Pack mal das komplette Projekt und hänge es hier an
Markus Kinzler
  Mit Zitat antworten Zitat
speedy23

Registriert seit: 11. Nov 2008
76 Beiträge
 
#36

Re: break it problem

  Alt 31. Jan 2010, 18:45
1000 danke an dich
Angehängte Dateien
Dateityp: rar neuer_ordner_834.rar (920,3 KB, 4x aufgerufen)
...oh yeah...
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#37

Re: break it problem

  Alt 31. Jan 2010, 19:03
Delphi-Quellcode:
implementation
{$R *.dfm}

var
  x,y: integer;

procedure TForm1.Timer1Timer(Sender: TObject);
var x,y:integer;
begin
  if (Shape1.Top <= 0) or (Shape1.Top >= image1.ClientHeight - Shape1.Height) then
  begin
    y := -y;
  end;
  if (Shape1.Left <= 0) or (Shape1.Left >= image1.ClientWidth - Shape1.Width) then
  begin
    x := -x;
  end;

  Shape1.Left := Shape1.Left + x;
  Shape1.Top := Shape1.Top + y;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // fehlendes... (hab ich zu voreilig gelöscht)
  x := 5;
  y := 5;
end;
Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#38

Re: break it problem

  Alt 31. Jan 2010, 19:05
So sollte es funktionieren:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, sSkinManager, Buttons, sBitBtn, StdCtrls, sButton, jpeg,
  ExtCtrls, sPanel;

const dx=5;
      dy=5;
type
  TForm1 = class(TForm)
    sSkinManager1: TsSkinManager;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Hilfe1: TMenuItem;
    NeuesSpiel1: TMenuItem;
    Beenden1: TMenuItem;
    Image1: TImage;
    Startknopf: TsButton;
    Pauseknopf: TsBitBtn;
    reflektor: TImage;
    Shape1: TShape;
    Timer1: TTimer;
    procedure PauseknopfClick(Sender: TObject);
    procedure StartknopfClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure NeuesSpiel1Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var x,y:integer;

procedure TForm1.PauseknopfClick(Sender: TObject);
begin
  {Spiel pausieren und button pause unsichtbar --> Start sichtbar}
 pauseknopf.visible:=false;
 timer1.enabled:=false;
end;

procedure TForm1.StartknopfClick(Sender: TObject);
begin
  {macht den pauseknopf sichtbar, setzt spiel fort}
  timer1.Enabled:=true;
  pauseknopf.Visible:=True;
  x := dx; y := dy;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

      if reflektor.left > 110 then
      begin
       case ord(key) of
        vk_left:reflektor.left:=reflektor.left-14;
       end;
      end;

      if (reflektor.left < 426) then
      begin
       case ord(key) of
         vk_right:reflektor.left:=reflektor.left+14;
       end;
      end;
   end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if (Shape1.Top <= image1.Top + Shape1.Height ) or (Shape1.Top >= image1.ClientHeight - Shape1.Height) then
  begin
    y := -y;
  end;
  if (Shape1.Left <= image1.Left + Shape1.Width ) or (Shape1.Left >= image1.ClientWidth - Shape1.Width) then
  begin
    x := -x;
  end;

  Shape1.Left := Shape1.Left + x;
  Shape1.Top := Shape1.Top + y;
  Shape1.Repaint;
end;





procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.Enabled:=false;

end;

procedure TForm1.NeuesSpiel1Click(Sender: TObject);

begin
 timer1.enabled:=true;

end;

end.
Markus Kinzler
  Mit Zitat antworten Zitat
speedy23

Registriert seit: 11. Nov 2008
76 Beiträge
 
#39

Re: break it problem

  Alt 31. Jan 2010, 19:09
ca. 38.000 mal danke aber nun geht er ja rechts nichtmehr an den imagerande, müsste er doch laut code eigentlich oder?
...oh yeah...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#40

Re: break it problem

  Alt 31. Jan 2010, 19:12
Er stösst ja am Rande des Shapes ( nur nicht Am Rand des sichtbaten Teils) + der Schrittweite ab
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 6   « Erste     234 56      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz