bilder einfügen
Übersicht

florobBetreff: bilder einfügen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo
wie funktioniert das mit dem loadimage? in blitz2d hab ich immer einfach bild=loadimage("bild.bmp") gsagt, aber in bmax geht das ja irgendwie anders und ich komm nicht dahinter. ich möcht eigentlich einfach nur den schläger und den ball für ping pong laden. danke im voraus lg flo |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Geht in BMax an sich genau so:
Code: [AUSKLAPPEN] SuperStrict
Framework BRL.Max2D Import BRL.BMPLoader Import BRL.PNGLoader Import BRL.JPGLoader Import BRL.TGALoader Graphics(800,600,32,75) Global img:TImage = LoadImage("bild.bmp") Repeat Cls DrawImage(img,50,50) Flip Until KeyHit(KEY_ESCAPE) End So sollte es gehen. |
||
florob |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das hab ich schon probiert. da is mein code. was mach ich falsch?
es kommt nur ein schwarzer bildschirm, mauszeiger sieht man noch, aba sobald ich irgendwas drück geht er zrück zum bmax. Code: [AUSKLAPPEN] 'ping pong
Strict Const s=5 'geschwindigkeit ball Global xschl=350 'kordi schläger Global xball=395 'x kordi ball Global yball=200 'x kordi ball Global winkel=270 'abprallwinkel Global zaehler Global s1 'speed schläger Graphics 800,600 Global ball:TImage = LoadImage("ball.bmp") Global schlaeger:TImage = LoadImage("schlaeger.bmp") While Not KeyHit(1) 'kollision schlaeger If yball<=575 For zaehler=0 To 99 If xball=xschl+zaehler If zaehler>50 zaehler:-100 zaehler:*(-1) EndIf zaehler:-50 zaehler:*(-1) zaehler:/2 winkel:+180-2*winkel winkel:-zaehler Else DrawText"Game Over!",390,300 WaitKey() End EndIf Next EndIf 'kollision wand If xball<1 Or xball>790 Or yball<1 winkel:+180-2*winkel EndIf 'winkel auf 360 grad begrenzen If winkel<0 Repeat winkel:+360 Until winkel>=0 ElseIf winkel>359 Repeat winkel:-360 Until winkel<=359 EndIf 'bewegen vom schläger If KeyDown(203) xschl:-s1 ElseIf KeyDown (205) xschl:+s1 EndIf If xschl<1 xschl=1 ElseIf xschl>700 xschl=700 EndIf DrawImage schlaeger,xschl,585 'ball bewegen xball=xball+Cos(winkel)*s yball=yball-Sin(winkel)*s DrawImage ball,xball,yball Flip Wend lg flo |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Lass es mal im Debugmodus laufen. ich würde drauf tippen, dass der Pfad falsch ist oder sonst etwas schief läuft | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
florob |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
äh...wie mach ich das? auf die debug exe klicken? da kommt das selbe wie sonst: schwarzer bildschirm und wenn ich was drück is alles weg
pfad von den bildern stimmt aba, die sind im gleichen ordner. |
||
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, das Problem steckt hier
Code: [AUSKLAPPEN] If xball=xschl+zaehler
hier fragst Du ob xball gleich xschl+zaehler ist, das ist aber nicht der fall. Dadurch springt das Programm gleich zu dieser stelle. Code: [AUSKLAPPEN] Else
DrawText"Game Over!",390,300 WaitKey() und darum bleibt der bildschirm einfach schwarz. Flip wird ja auch nie erreicht. Schau Deinen Code nochmals genau durch und versuch zu verstehen was da vor sich geht ![]() Learning by doing ![]() |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
florob |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ah danke, klingt logisch
lg flo |
||
florob |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hab noch ne frage, kann man ifs verschachteln?? weil ich hab das programm jetz schritt für schritt laufen lassen, und bei dem code´hängt er sich komplett auf, hilft nur neu hochfahren (den computer).
Code: [AUSKLAPPEN] If yball<=575
For zaehler=0 To 99 If xball=xschl+zaehler If zaehler>50 zaehler:-100 zaehler:*(-1) EndIf zaehler:-50 zaehler:*(-1) zaehler:/2 winkel:+180-2*winkel winkel:-zaehler EndIf Next EndIf |
||
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Versteh Deine Frage nicht ganz ![]() Du hast doch schon ne verschachtelung. Klaro geht das. |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
florob |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
was is dann an dem code falsch?? wenn er sich komplett aufhängt kann das ja ned richtig sein. ich find keinen fehler und seit ich das drin hab hängt er sich auf | ||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If yball<=575
For zaehler=0 To 99 If xball=xschl+zaehler If zaehler>50 zaehler:-100 zaehler:*(-1) EndIf zaehler:-50 zaehler:*(-1) zaehler:/2 winkel:+180-2*winkel winkel:-zaehler EndIf Next EndIf Die ganzen Zähler Berechnungen da sorgen dafür das die For-Next-Schleife völlig durcheinander kommt... mach es lieber so, wenn es schon sein muß : Code: [AUSKLAPPEN] f yball<=575
local zaehler:int For local i:int=0 To 99 zaehler = i If xball=xschl+zaehler If zaehler>50 zaehler:-100 zaehler:*(-1) EndIf zaehler:-50 zaehler:*(-1) zaehler:/2 winkel:+180-2*winkel winkel:-zaehler EndIf Next EndIf |
||
florob |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke, so gehts, aba das ganze is irr langsam! (is aba irgendwie logisch...)
gut ich werd versuchen das anders zu lösen... trotzdem danke lg flo |
||
florob |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich muss euch schon wieder mit einer anfängerfrage, die ich wahrscheinlich selbst beantworten können sollte, belästigen:
was ist an der zeile mit imagescollide falsch??? er sagt mir dass er nicht TImage in Int umwandeln kann, aber das will ich ja gar ned machen... Code: [AUSKLAPPEN] Global ball:TImage = LoadImage("gfx\ball.bmp")
Global schlaeger:TImage = LoadImage("gfx\schlaeger.bmp") While Not KeyHit(key_escape) Cls 'kollision schlaeger If ImagesCollide(ball:TImage,xball,yball,schlaeger:TImage,xschl,585) danke lg flo |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doch, du willst es in Int umwandeln:
ImagesCollide(image1:TImage,x1:Int,y1:Int,frame1:Int,image2:Timage,x2:Int,y2:Int,frame2:Int) Also ist der Dritte Parameter der Frame des Images, und nicht das zweite Bild. |
||
florob |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aha.....sry in blitz2d is das so auch gangen. und was müsst ich hinschreiben stattdessen? die frames sind doch nur fürs animieren oder? | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein auch für die Kollisionstests.
Was du hinschreiben musst: Schau bitte in der Hilfe nach (also imagescollide anklicken und F1 drücken!!) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
florob |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das hab ich schon gmacht. es is ja ned so das ich nicht selber versuch das zu lösen. aba dort steht nix. tutorial wo das drinsteht hab ich auch keins gfunden.
also was müsst ich dort hin schreiben oder besser was kama dort hinschreiben? lg flo |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group