Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by fairtrader. 12/05/23 10:32
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
6 registered members (AndrewAMD, alibaba, fairtrader, ozgur, TipmyPip, Quad), 604 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Panel scale #255965
03/13/09 21:18
03/13/09 21:18
Joined: Apr 2006
Posts: 273
Germany, NRW
Meerkat Offline OP
Member
Meerkat  Offline OP
Member

Joined: Apr 2006
Posts: 273
Germany, NRW
Hi ho. ^^

I change my ressolution in Options and i must set the new scaling for menu. But the vars are not fine enough for calculating new scale.

The calculating was:

1 / 1280 * 800

My number is at first: 0,00078125, but the Engine can taken ONLY 0,001 at smallest. What can i do now? I don't want to set all panels manually. ^^


Rudi


http://www.gpi-studios.com

OS: Windows 7 Home Premium (64 Bit Version)
AMD Athlon 64 X2 Dual Core Processor 5200+
6gb DDR 2 - RAM
NVIDIA GeForce GTX 460
GameStudio Version A8 Commercial
Re: Panel scale [Re: Meerkat] #255972
03/13/09 21:43
03/13/09 21:43
Joined: Mar 2009
Posts: 112
Germany
K
KDuke Offline
Member
KDuke  Offline
Member
K

Joined: Mar 2009
Posts: 112
Germany
Lite-C unterstützt zusätzlich standard C/C++ ganzzahlige oder Fließkomma-Variablen für Fälle, in denen Sie einen grösseren Bereich mit weniger Genauigkeit oder höhere Genauigkeit mit kleinen Zahlen brauchen:
Code:
Typ        Grösse       Bereich                           Genauigkeit 
var        4 bytes      -1048577.999 bis 1048576.999**    0.001 
long, int  4 bytes      -2147483648 bis 2147483647        1 
short      2 bytes      0 bis 65536                       1 
char       1 byte       256 Zeichen                       1 
float      4 bytes      -3.4·10^38 bis 3.4·10^38          1.2·10^-38 
double     8 bytes      -1.8·10^308 bis 1.8·10^308        1.2·10^-308 


so... guck mal float an!
1.2*10^-38 = 0.000000000000000000000000000000000000012

Ich denke das sollte genau genug sein oder?

Last edited by KDuke; 03/13/09 22:09.

Using A7 Free
Click and join the 3dgs irc community!
Room: #3dgs
Re: Panel scale [Re: KDuke] #255974
03/13/09 21:51
03/13/09 21:51
Joined: Mar 2008
Posts: 2,247
Baden Württemberg, Germany
Espér Offline
Expert
Espér  Offline
Expert

Joined: Mar 2008
Posts: 2,247
Baden Württemberg, Germany
ah.. cool.. wusst ich auch ned.. ^^
Danke für den hinweis


Selling my Acknex Engine Editions (A7 Com & A8 Pro):
>> click here if you are interested <<
Re: Panel scale [Re: Espér] #255988
03/13/09 23:34
03/13/09 23:34
Joined: Apr 2006
Posts: 273
Germany, NRW
Meerkat Offline OP
Member
Meerkat  Offline OP
Member

Joined: Apr 2006
Posts: 273
Germany, NRW
Im Handbuch wird warum auch immer nicht beschrieben wie man das benutzt. Oder das is mir net verständlich genug erklärt. Wie erstell ich nu den "Float" mit "0.0000000000000"?

Hier draus werd ich net wirklich schlau. frown

so... guck mal float an!
1.2*10^-38 = 0.000000000000000000000000000000000000012


http://www.gpi-studios.com

OS: Windows 7 Home Premium (64 Bit Version)
AMD Athlon 64 X2 Dual Core Processor 5200+
6gb DDR 2 - RAM
NVIDIA GeForce GTX 460
GameStudio Version A8 Commercial
Re: Panel scale [Re: Meerkat] #256031
03/14/09 08:12
03/14/09 08:12
Joined: Mar 2009
Posts: 112
Germany
K
KDuke Offline
Member
KDuke  Offline
Member
K

Joined: Mar 2009
Posts: 112
Germany
Ach ja...

ich schätz mal du hast folgendes gemacht:
Code:
float meinScale = 1/1280*800;

und dabei 0 gekriegt.
Die Sache ist die, dass die Engine intern mit int rechnet bei der obigen Rechnung.
Sprich nur mit ganzen Zahlen.

Damit die Engine jetzt mit fließkommagenauigkeit rechnet musst du folgendes schreiben
Code:
float meinScale = 1.0/1280.0*800.0;


Dadurch, dass du Kommazahlen eingibst weiß die Engine von vornherein, dass du auch mit fließkommagenauigkeit rechnen willst.


Using A7 Free
Click and join the 3dgs irc community!
Room: #3dgs
Re: Panel scale [Re: KDuke] #256050
03/14/09 10:24
03/14/09 10:24
Joined: Apr 2006
Posts: 273
Germany, NRW
Meerkat Offline OP
Member
Meerkat  Offline OP
Member

Joined: Apr 2006
Posts: 273
Germany, NRW
Okay, ich habs aufgegeben. Der rechnet mir da n scheiss zusammen das ich kotzen geh. ^^ Zum Glück braucht man ja alles nur 1x eintragen. laugh


http://www.gpi-studios.com

OS: Windows 7 Home Premium (64 Bit Version)
AMD Athlon 64 X2 Dual Core Processor 5200+
6gb DDR 2 - RAM
NVIDIA GeForce GTX 460
GameStudio Version A8 Commercial
Re: Panel scale [Re: Meerkat] #256051
03/14/09 10:35
03/14/09 10:35
Joined: Mar 2009
Posts: 112
Germany
K
KDuke Offline
Member
KDuke  Offline
Member
K

Joined: Mar 2009
Posts: 112
Germany
Poste doch einfach mal deinen Code Meerkat!


Using A7 Free
Click and join the 3dgs irc community!
Room: #3dgs
Re: Panel scale [Re: KDuke] #256064
03/14/09 11:45
03/14/09 11:45
Joined: May 2007
Posts: 2,043
Germany
Lukas Offline

Programmer
Lukas  Offline

Programmer

Joined: May 2007
Posts: 2,043
Germany
Es wäre viel einfacher, wenn du einfach 1 * 800 / 1280 rechnen würdest wink

Re: Panel scale [Re: Lukas] #256081
03/14/09 14:15
03/14/09 14:15
Joined: Apr 2006
Posts: 273
Germany, NRW
Meerkat Offline OP
Member
Meerkat  Offline OP
Member

Joined: Apr 2006
Posts: 273
Germany, NRW
Edit: Hier ist die Lösung des Problems. Dank KDuke hab ichs endlich geschafft! laugh

Code:
void ress_800x600_func() //Wird ausgeführt wenn ich auf den 800x600 Button klicke! 
{ 
wait(2); 
video_switch(7,32,0); 
wait(2); 

PanelScale_x = screen_size.x/1280; 
PanelScale_y = screen_size.y/1024 

Mainmenu.scale_x = PanelScale_x; 
Mainmenu.scale_y = PanelScale_y; 
} 

---------------------------------------------------------
Ich starte mit der Auflösung von 1280x1024!

Code:
var PanelScale_x = 1.0;
var PanelScale_y = 1.0;
var PanelPosScale_x = 0.0;
var PanelPosScale_y = 0.0;
float Panel_calc_x = 0.0;
float Panel_calc_y = 0.0;

void ress_800x600_func() //Wird ausgeführt wenn ich auf den 800x600 Button klicke!
{

Panel_calc_x = PanelScale_x / screen_size.x; //1 geteilt durch 1280
Panel_calc_y = PanelScale_y / screen_size.y; //1 geteilt durch 1024

wait(2);
video_switch(7,32,0);
wait(2);

PanelScale_x = Panel_calc_x * screen_size.x; //Wert mal neue Auflösung = Panel Scale!
PanelScale_y = Panel_calc_y * screen_size.y; //Hier ist das gleiche!

Mainmenu.scale_x = PanelScale_x;
Mainmenu.scale_y = PanelScale_y;
...
}


Die gleiche Art sollte auch mit der Positionsberechnung funktionieren, aber beim Skalieren und Positionieren bekomm ich alles raus, nur net das was ich brauch. smile

Hoffentlich kennt sich jemand damit aus. ^^

Quote:
Es wäre viel einfacher, wenn du einfach 1 * 800 / 1280 rechnen würdest wink

Wie kommt auf die Formel? Ich weiss, das is n Dreisatz. Aber ich versteh die Rechnung noch nicht so ganz. ^^'

Rudi

Last edited by Meerkat; 03/14/09 15:56.

http://www.gpi-studios.com

OS: Windows 7 Home Premium (64 Bit Version)
AMD Athlon 64 X2 Dual Core Processor 5200+
6gb DDR 2 - RAM
NVIDIA GeForce GTX 460
GameStudio Version A8 Commercial
Re: Panel scale [Re: Meerkat] #256419
03/16/09 18:15
03/16/09 18:15
Joined: Mar 2006
Posts: 2,503
SC, United States
xXxGuitar511 Offline
Expert
xXxGuitar511  Offline
Expert

Joined: Mar 2006
Posts: 2,503
SC, United States
Sorry if your issue was already solved, I don't know enough german yet to translate.

It looks like Meerkat gave you the solution though. You were simply going the wrong direction for the right answer.

Instead of "scale = 1/sSize * X;"
use
scale = sSize/X;"
where "X = panel size" & "sSize = screen Size"


Easiest way to make this work is to define a global variable:
var pScale;

Then in your main function define them:
pScale = screen_size.x / 1280;

Then also in your main function, set all of your panels scale_x/y to the variable:
pan_BLANK.scale_x = pScale;
pan_BLANK.scale_y = pScale;


Again, sorry if this was already covered...


xXxGuitar511
- Programmer
Page 1 of 2 1 2

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1