Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Editor] DrawBall - Editor (https://www.delphipraxis.net/81578-%5Beditor%5D-drawball-editor.html)

xZise 2. Dez 2006 19:01

Re: [Editor] DrawBall - Editor
 
Also ich kann den Fehler nicht bestätigen (siehe Anhang)!

Dax 2. Dez 2006 19:12

Re: [Editor] DrawBall - Editor
 
Zitat:

Zitat von xZise
Könnt ihr mir mal die Vorgehensweise schicken?

-Neue Map
-Maus über die Map
->alles weiß

xZise 2. Dez 2006 19:21

Re: [Editor] DrawBall - Editor
 
Seltsam ? Habt ihr kein Windows XP?

C.Schoch 2. Dez 2006 19:36

Re: [Editor] DrawBall - Editor
 
Doch! WinXP SP1

xZise 2. Dez 2006 19:52

Re: [Editor] DrawBall - Editor
 
Wäre es möglich es einfach einmal selber zu kompilieren?

PS: Ich werde es gleich mal auf einen anderen PC versuchen...

[edit]
Könntet ihr mal den Kontrast runterstellen? (Auch gerne auf 0 ;))
Vielleicht liegt es daran!
[/edit]

dino 2. Dez 2006 20:44

Re: [Editor] DrawBall - Editor
 
na bei mir klappts wunderbar.

übrigens: wie kriege ich ein erstelltes level wieder weg?

ich habs gespeichert installiert ausprobiert und nicht geschafft

habs daher gelöscht, aber es kommt immernoch

C.Schoch 2. Dez 2006 20:54

Re: [Editor] DrawBall - Editor
 
Ich hab da mal einen Trick beim Zeichnen des Positionsrechtecks eingebaut, dann klappts auch bei mir.
Kompilieren geht nicht wirklich gut Da Ich nur Delphi 2005 hab.
Delphi-Quellcode:
procedure TForm1.iFocusMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  raster : RPoint;
begin
  raster := RPoint(Point(X div 20, Y div 20));
  if (raster.x <> oldPos.x) or (raster.y <> oldPos.y) then begin
    oldPos := raster;
    iFocus.Picture.Assign(iMap.Picture); // <-- Hier zeichne ich einfach die Map in die Auswahlgrafik da scheinbar die Map von der Auswahlgrafik überschrieben wird

    iFocus.Canvas.MoveTo((raster.x) * 20 + 1, (raster.y) * 20);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y) * 20);

    iFocus.Canvas.MoveTo((raster.x) * 20 + 1, (raster.y + 1) * 20 - 1);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y + 1) * 20 - 1);

    iFocus.Canvas.MoveTo((raster.x) * 20, (raster.y) * 20 + 1);
    iFocus.Canvas.LineTo((raster.x) * 20, (raster.y + 1) * 20 - 1);

    iFocus.Canvas.MoveTo((raster.x + 1) * 20 - 1, (raster.y) * 20 + 1);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y + 1) * 20 - 1);
  end;
end;

procedure TForm1.iFocusMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  var
  raster : RPoint;
begin
  if (selected <= 7) and (selected >= 2) then
    iMap.Canvas.Draw((x div 20) * 20, (y div 20) * 20, preBitMaps[0]);

  iMap.Canvas.Draw((x div 20) * 20, (y div 20) * 20, preBitMaps[selected]);

  Map[x div 20][y div 20] := selected;

  raster := RPoint(Point(X div 20, Y div 20)); //<-- Nach dem Zeichnen auf die Grafik muss natürlich die AuswahlGrafik neu gezeichnet werden
  iFocus.Picture.Assign(iMap.Picture);
    iFocus.Canvas.MoveTo((raster.x) * 20 + 1, (raster.y) * 20);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y) * 20);

    iFocus.Canvas.MoveTo((raster.x) * 20 + 1, (raster.y + 1) * 20 - 1);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y + 1) * 20 - 1);

    iFocus.Canvas.MoveTo((raster.x) * 20, (raster.y) * 20 + 1);
    iFocus.Canvas.LineTo((raster.x) * 20, (raster.y + 1) * 20 - 1);

    iFocus.Canvas.MoveTo((raster.x + 1) * 20 - 1, (raster.y) * 20 + 1);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y + 1) * 20 - 1);
end;

xZise 2. Dez 2006 20:58

Re: [Editor] DrawBall - Editor
 
Die Datei?
Oder die Grafik?
Bei ersteres:
Hast du es "installiert"?
==> Dann musst du gucken wo die Levels sind (DrawBall.exe-Ordner und dann im ordner levels) und dann das letzte Level löschen.
Hast du ganz normal gespeichert?
==> Dort wos du es gespeichert hast
Bei zweiterem:
Einfach auf "Neue Map" kilcken (oder Datei -> Karte erstellen)

[redBox]
Zitat:

Zitat von C.Schoch
Ich hab da mal einen Trick beim Zeichnen des Positionsrechtecks eingebaut, dann klappts auch bei mir.
Kompilieren geht nicht wirklich gut Da Ich nur Delphi 2005 hab.
Delphi-Quellcode:
procedure TForm1.iFocusMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  raster : RPoint;
begin
  raster := RPoint(Point(X div 20, Y div 20));
  if (raster.x <> oldPos.x) or (raster.y &lt;&gt; oldPos.y) then begin
    oldPos := raster;
    iFocus.Picture.Assign(iMap.Picture); // &lt;-- Hier zeichne ich einfach die Map in die Auswahlgrafik da scheinbar die Map von der Auswahlgrafik überschrieben wird

    iFocus.Canvas.MoveTo((raster.x) * 20 + 1, (raster.y) * 20);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y) * 20);

    iFocus.Canvas.MoveTo((raster.x) * 20 + 1, (raster.y + 1) * 20 - 1);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y + 1) * 20 - 1);

    iFocus.Canvas.MoveTo((raster.x) * 20, (raster.y) * 20 + 1);
    iFocus.Canvas.LineTo((raster.x) * 20, (raster.y + 1) * 20 - 1);

    iFocus.Canvas.MoveTo((raster.x + 1) * 20 - 1, (raster.y) * 20 + 1);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y + 1) * 20 - 1);
  end;
end;

procedure TForm1.iFocusMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  var
  raster : RPoint;
begin
  if (selected &lt;= 7) and (selected &gt;= 2) then
    iMap.Canvas.Draw((x div 20) * 20, (y div 20) * 20, preBitMaps[0]);

  iMap.Canvas.Draw((x div 20) * 20, (y div 20) * 20, preBitMaps[selected]);

  Map[x div 20][y div 20] := selected;

  raster := RPoint(Point(X div 20, Y div 20)); //&lt;-- Nach dem Zeichnen auf die Grafik muss natürlich die AuswahlGrafik neu gezeichnet werden
  iFocus.Picture.Assign(iMap.Picture);
    iFocus.Canvas.MoveTo((raster.x) * 20 + 1, (raster.y) * 20);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y) * 20);

    iFocus.Canvas.MoveTo((raster.x) * 20 + 1, (raster.y + 1) * 20 - 1);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y + 1) * 20 - 1);

    iFocus.Canvas.MoveTo((raster.x) * 20, (raster.y) * 20 + 1);
    iFocus.Canvas.LineTo((raster.x) * 20, (raster.y + 1) * 20 - 1);

    iFocus.Canvas.MoveTo((raster.x + 1) * 20 - 1, (raster.y) * 20 + 1);
    iFocus.Canvas.LineTo((raster.x + 1) * 20 - 1, (raster.y + 1) * 20 - 1);
end;

Es kann an einem Problem mit der Transparenz liegen. Obwohl ich extra das untere linke Pixel weiß lasse...
Ich wundere mich, warum es bei manchen funzt und bei anderen nicht!
[/redBox]

C.Schoch 2. Dez 2006 21:05

Re: [Editor] DrawBall - Editor
 
Ja die Idee mit der Transparez hat ich auch und hab dann die Tranparenz auf true gestellt das wollt er nicht.

Komisch ist aber wenn ich über die Funktion Picture.Rectangele ein Rechtech zeichne das kleiner als die Grafik ist auf einmal das Spielfeld innerhalb des Rechtecks sichtbar :gruebel:

xZise 2. Dez 2006 21:08

Re: [Editor] DrawBall - Editor
 
Also ich habe im 1. Post zwei Versionen zu Testen kompliert.
Einmal deine (ziemlich langsam geworden) und einmal eine kleine Veränderung an meiner Grundversion... Mal sehen, das 2. was bringt (weil die Performance bleibt)

Rein logisch betrachtet, dürfte eigentlich dort iFocus nicht weiß werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 Uhr.
Seite 2 von 6     12 34     Letzte »    

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