AMIGA-RESISTANCE

Die Projektseite für alles rund um den Amiga
Aktuelle Zeit: 28 Mär 2024, 14:41

Alle Zeiten sind UTC


 

 

 



Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 28 Okt 2009, 16:04 
Offline
Alter Hase

Registriert: 21 Dez 2007, 20:44
Beiträge: 58
Hallo,

so jetzt bin ich auch Besitzer von Hollywood und Designer. Das Programm scheint sehr genial zu sein (sowohl von der Benutzerführung, Funktionalität und Flexibilität).
Hab gleich mal ein paar Fragen (wahrscheinlich könnte ich die auch selber lösen, wenn ich die Zeit hätte das gesamte Manual durchzulesen). Vielleicht geht es hier ja schneller, wenn nicht... RTFM gerograph !

Allgemeine Fragen:

1. Kann man im (Designer) Objekte grupieren (z.B. Schrift+Brush) um dann einen gemeinsamen Überblendeffekt zu wählen (Anstatt irgendwo anders beides bitmapbasiert zu einem Brush zusammenzufassen) ?

2. Warum muß ich im Codeeditor für ein Object (Designer) die ID des Objektes angeben ? Wo wäre der Sinn, den Code beim gewählten Objet zu hinterlegen ?

Fragen zum Threadthema:

3. Wie schiebe ich eine Brush von rechts nach links um eine definierte Pixelzahl (MoveBrush) und verkleinere den ganzen Brush gleichzeit in mehreren Schritten ?

Hier mein nicht funktionierender Lösungsansatz:

Schleife bauen -> Brush stückchen mit MoveBrush schieben -> Brush Stücken verkleinern -> usw

generell hab ich das Problem, das ich anscheinend nach der Verkleinerung einer Brush mit "ScaleBrush" ein DisplayBrush aufrufen muss, und dann beide "Brushes" auf dem Bildschirm habe. Wie lösche ich die alte Brush, bzw. gibt es eine elegantere Lösung ?

Vielen Dank für die Hilfe


Nach oben
   
BeitragVerfasst: 30 Okt 2009, 11:38 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Salli gerograph

Ich bin leider weder ein Designerkenner noch
ein Brushspezialist. :( Ausserdem ist mein Englisch
auf Yes und No beschränkt, was die Arbeit mit dem
Hollywoodhandbuch alles andere als erleichtert. :cry:

Zur Frage 3:
Der Designer arbeitet ja im Layermodus. Schaue Dir
doch mal die Befehle MoveLayer() und ScaleLayer()
an. Vielleicht helfen sie Dir weiter.

Ich hätte auch Deinen Ansatz mit der Schleife versucht.

Zur Frage 2:
Schaue mal im Designerhandbuch unter Ereignisse nach.
Wenn da etwas zutrifft, dann macht die Hinterlegung des
Codes beim betreffenden Objekt sinn.

Bei der ID schaue auch im Designerhandbuch unter
Objektnamen-Dialog und Code-Dialog nach. Grob
zusammengefasst macht die ID im Designer Sinn,
wenn Du aus einem Script direkt auf ein bestimmtes
Objekt zugreiffen möchtest.

Arbeitest Du allerdings in einem Editor mit Hollywood,
ist die ID pflicht, egal ob Du die Kennung eingibst oder
Hollywood automatisch die Kennung vergibt.

Zur Frage 1:
Keine Ahnung. :(


Mein Designer ruht leider schon mehr als ein Jahr lang,
da ich mit der ScuiLib arbeite und zur Zeit der Designer
und die ScuiLib sich nicht vertragen.

Aber ich hoffe, Du kommst trotzdem ein Stückchen weiter.

Griessli
Tipsi


Nach oben
   
BeitragVerfasst: 30 Okt 2009, 21:04 
Offline
Alter Hase

Registriert: 21 Dez 2007, 20:44
Beiträge: 58
Danke für die Tips... mit den Layern war schonmal ein guter Hinweis, erklärt warum ScaleBrush funktioniert, danach allerdings ein DisplayBrush gesendet werden muß. Danach hab ich dann den "alten" und neuen Brush aufm Schirm. Den neuen kann ich mit HideLayer ausblenden, den alten Brush (Layer 1) dann anscheinend nicht.

Also hab ich mal mit ScaleLayer probiert, funktioniert !

Allerdings funktioniert MoveLayer nicht !! ?????

In der Doku steht, der Layer wird "softly" gescrollt, bei mir wird der alte Brush/Layer gelöscht, der neue dann an der angegebenen Position angezeigt ! Hä ???

Grüße


Nach oben
   
BeitragVerfasst: 30 Okt 2009, 21:18 
Offline
Alter Hase

Registriert: 21 Dez 2007, 20:44
Beiträge: 58
O.k. Kommando zurück im Hinblick auf den MoveBrush und MoveLayer Befehl... eigentlich logisch:

Alle Objekte werden im Designer ja nacheinander abgearbeitet, daher muss der Code für Object/Layer 1 beim nachfolgenden Object (hier also 2) hinterlegt werden ! Dann klapts. Mit dem Scaling probier ich dann morgen...


Nach oben
   
BeitragVerfasst: 30 Okt 2009, 22:09 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
gerograph hat geschrieben:
O.k. Kommando zurück im Hinblick auf den MoveBrush und MoveLayer Befehl... eigentlich logisch:

Alle Objekte werden im Designer ja nacheinander abgearbeitet, daher muss der Code für Object/Layer 1 beim nachfolgenden Object (hier also 2) hinterlegt werden ! Dann klapts. Mit dem Scaling probier ich dann morgen...
Super, dann bin ich gespannt, wie es mit dem Scaling aussieht.

Griessli
Tipsi


Nach oben
   
BeitragVerfasst: 31 Okt 2009, 12:41 
Offline
Alter Hase

Registriert: 21 Dez 2007, 20:44
Beiträge: 58
So, hier die Lösung, am besten macht man es mit Layerfunktionen, denn jeder Brush bekommt eh einen eigenen Layer, macht man es mit den Brushfunktionen (movebrush,....) dann muß man ggf. den "Mutterbrush/Layer" ausschalten, was ungünstig ist. Folgende Dinge sind wichtig:

1. Das Objekt auf den sich der Code bezieht muß VOR ! dem Code stehen. D.h. der Code muß im Codefenster eines Objektes eingetippt werden, was nach dem "zu bewegendem Objekt/Brush" steht. => eigentlich logisch, weil ja eins nachm anderen abgearbeitet wird... hab da ein bisschen zu objektorientiert gedacht, da ich beruflich ein bisserl mit VB und VBA rum mache...
Da ich im konkreten Falle mehrere Brushes/Layer bewegen wollte habe ich ein Objekt ganz unten eingefügt (unsichtb. Linie) welches für alle "Bewegungsobjekte" den Code hat.

2. ScaleLayer() war nen bisserl schwierig, da ich prozentual verkleinern wollte, ScaleLayer(2,50%,50%) geht leider nicht, da "%" als Operator in Hollywood geschützt ist, also muß ich mit Esc-Code+Asciizeichen arbeiten s.u.

3. Der Code ist sicherlich nen bisschen umständlich, und man könnte es mit einer schönen Funkton mit Variablen Übergabe besser regeln, aber es zeigt wo es lang geht:
VerklFakt = 100 /* Var initialisieren */

/* --------- 1. Layer ------------- */

/* 1.Layer Position Startposition */ 
ax = 400
ay = 130 
/* 1. Layer Endposition auf Startposition setzen */
bx = ax
by = ay

/* Layer auf 50 Proz verkleinern in zehner Schritten */
For VerklFakt = 100 to 50 Step -10 
  VerklFakt$ = ToString(i) /* Verkl. Prozentzahl in String wandeln */
  a$ = AddStr(VerklFakt,"\037")       /* 037 Ascii Code Prozentzeichen an String h?ngen*/
  ScaleLayer(8,a$,a$) /* Layer verkleinern */
  bx = bx - 66 /* nächste Position des verkleinerten Layers berechnen, abhängig von Pos. im vorangegangenen Schleifendurchlauf */
  by = by + 21 
  MoveLayer(8, ax, ay, bx, by, {Speed = #FASTSPEED}) /* Layer entsprechend ein Stück bewegen */
  ax = bx /* Startposition auf neue Endposition setzen für den nächsten Durchläufe... */
  ay = by
Next
Danke für die Hilfe, die fertige Präsentation werd ich dann mal hochladen... dauert aber noch was, da

1. Mein SAM weggeschickt werden muß, da er mit CD ROM nicht hochfährt
2. Präsentation mit kleinen Videosequenzen nicht mal eben geht

Gruß gerograph


Nach oben
   
BeitragVerfasst: 31 Okt 2009, 19:19 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Wau, ihr seit ja schneller als die Polizei erlaubt mit einer Lösungsfindung, da kommt man ja überhaupt nicht dazu mal selbst ins Handbuch zu schauen.
Aber besser so als wenn man lange an sowas rumdocktert.

@gerograph
Schau mal wie du das machst mit der Präsentation, bin gespannt was du da erstellt hast. :)
Und viel Glück mit deinem SAM Rechner, das er schnell wieder funktionstüchtig, bei dir auf dem Schreibtisch steht. DAUMEN DRÜCK!

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
BeitragVerfasst: 01 Nov 2009, 20:09 
Offline
Alter Hase

Registriert: 21 Dez 2007, 20:44
Beiträge: 58
Danke für die warmen Worte...

Jetzt kommt die nächste Frage, Einbinden von TTF Fonts in einem windows compilat ??
Mach dafür aber gleich einen neuen Thread auf....
Außerdem kopiere ich den Code noch in die Snippets, richtig ?


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Gehe zu: 

cron