| |
|
|
| Hi Franco!
Nun, Yo otra vez una Problema. Yo bin gerade esta una Rutina a escribir, el mi Sprites innerhalb uno Programms verwaltet. Ein Teil su es zuständig para el invitar el BMPs y anschließendem Setzen el Sprites. El Größe el Sprite-BMP se berechnet de el Summe el Spritehöhen y Breite des breitesten Sprites. Soweit tan bueno. Wenn aber nun el Rutina una weiteres veces aufgerufen se, se el Sprite-BMP con el neuen Sprite-Bild-Daten erweitert voluntad,sprich el neuen Daten voluntad angehängt. Puedo nun zwar simplemente el bestehenden Bild-Daten en una neu erzeugtes,größeres ExtBMP kopieren y el neuen Daten zuladen, aber el verändert sí desafortunadamente el Sprite-BMP-Handle, el I, con InitSprite festgelegt habe. So restos me nichts más übrig, como todos Sprites a löschen y el neuen Handle neu a redactar.
Mi lo resultierende Cuestión: ¿Es posible el Dll una Función a erweitern, el una ExtBMP vergrößern, o. verkleinern kann? Oder/Und es posible SetSpriteAnim con un más Valor, el Sprite-BMP-Handle, a erweitern?
Mit el besten Grüßen, Mischa |
|
|
| |
|
|
|
| Hi Mischa,
Nun, Yo otra vez una Problema. Yo bin gerade esta una Rutina a escribir, el mi Sprites innerhalb uno Programms verwaltet. Ein Teil su es zuständig para el invitar el BMPs y anschließendem Setzen el Sprites. El Größe el Sprite-BMP se berechnet de el Summe el Spritehöhen y Breite des breitesten Sprites. Soweit tan bueno. Wenn aber nun el Rutina una weiteres veces aufgerufen se, se el Sprite-BMP con el neuen Sprite-Bild-Daten erweitert voluntad,sprich el neuen Daten voluntad angehängt. Puedo nun zwar simplemente el bestehenden Bild-Daten en una neu erzeugtes,größeres ExtBMP kopieren y el neuen Daten zuladen, aber el verändert sí desafortunadamente el Sprite-BMP-Handle, el I, con InitSprite festgelegt habe. So restos me nichts más übrig, como todos Sprites a löschen y el neuen Handle neu a redactar.
¿Por qué verwendest du porque no de vornherein una größere Mapa de bits, el dir en allen Fällen ausreicht? Dann kannst du el Sprites en cualquier momento con CopyExtBmp() aktualisieren y el Mapa de bits kopieren...
Mi lo resultierende Cuestión: ¿Es posible el Dll una Función a erweitern, el una ExtBMP vergrößern, o. verkleinern kann?
Es por desgracia, no. Mir es no API bekannt, el el podría, sin el Handle esta a ändern.
Oder/Und es posible SetSpriteAnim con un más Valor, el Sprite-BMP-Handle, a erweitern?
Yo möchte el SetSpriteAnim() de Kompatibilitätsgründen no verändern, kann aber gerne una neue Función einbauen, z.B.: SetNewSpriteBitmap(spritehandle&,newspritehdc&)
Sinnvoller es aber trotzdem, el neuen Spritedaten simplemente con CopyExtBmp() en el Grafik a conjunto... Was hälst du su?
Mit el besten Grüßen, Franco |
|
|
| |
|
|
|
| Nochmals ¡Hola!
Klar, Yo podría una BMP invertir el groß genug es. Aunque weiß Yo no en el Vorfeld como groß esta ser müßte. Es probablemente no besonders Resourcen-schonend, simplemente una BMP con sagen wir 2000 x 4000 a redactar. Hay sí todavía otro BMPs en el Spiel. Möglicherweise es el aber auch unsinnig de me a glauben Yo müßte Resourcen schonen. Beim Verkleinern el problema es ya deutlicher. Wenn Yo el Daten uno Sprites entfernen voluntad kann Yo zwar el darunter gelegenen BMP-Zona simplemente a Höhe el Sprite-Daten hochkopieren, entonces haben el Sprites aber a para Setspriteanim falsche Daten. Wenn Yo aber una zweite Sprite-BMP en neuer Größe erzeuge, kann Yo hay el BMP-Bereiche passend aneinander kopieren, entonces el Sprites con SetNewSpriteBitmap (vorausgesetzt dieser Befehl sería auch X u. Y-Koordinate el Sprite-Bild-Daten neu conjunto) darauf umleiten y luego el alte Sprite-BMP lösche, y lo son no Fehler. Glaube Yo!? Hm, bastante umständlich. Vermutlich braucht uno esta Función no allzu häufig. Mein Problema Yo auch ya o más wenig gelöst, indem Yo sólo todos Sprites lösche y luego con neuen Daten erneut setzte. Como lo en Rutina una Editor-Función es, kommt lo sí no así muy el Tempo a. Pensé sólo, lo sería möglicherweise Sinn hacer en una Spiel... Naja, trotzdem danke para Su respuesta rápida!
Saludo, Mischa
PS: Wird lo veces una Función geben, como CopySizedExtBmp? Dann puede ser se nämlich el Umweg encima Startpaint -1 sparen |
|
|
| |
|
|
|
| ¡Hola Mischa,
Resourcen schonen es siempre sinnvoll.
Na sí, si du trotzdem una vez más así una Función necesidad, entonces melde dich sólo otra vez, auch con neuer X y Y Angabe.
Ein CopySizeExtBmp()? Na wer weiß, Yo voluntad mich bemühen euch el a liefern, qué ihr benötigt...
Saludo, Franco |
|
|
| |
|
|