|
Основной форум Сюда все проблемы связанные с программированием. |
21.01.2006, 13:52
|
#1
|
Оператор ЭВМ
Регистрация: 30.12.2005
Сообщений: 45
Написано одно полезное сообщение
|
Я вот делаю спрайт например персонажа
и вырезаю картинку,но прозрачности нет !!
DrawImage(ImageFromImage(LoadImage('/1.png'),0,0,20,20), 10,20);
как сделать подскажите???
|
(Offline)
|
|
21.01.2006, 14:07
|
#2
|
|
помойму в png есть альфаканал
и хз - поидее там розовый фон какойта надо вставлять
|
|
|
21.01.2006, 14:42
|
#3
|
Оператор ЭВМ
Регистрация: 30.12.2005
Сообщений: 45
Написано одно полезное сообщение
|
Да вроде безразнецы
какой альфа канал цветом будет это паставить можно!(Даже в редакторе Паскаля)
А вот вырезает он без этого канала,а мне какрас надо чтобы верезал
|
(Offline)
|
|
21.01.2006, 22:19
|
#4
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
В MP с прозрачностью проблемы, что-то он не так преобразовывает. Если пользоваться java функциями, то все окей!
Пользуйся спрайтами.
|
(Offline)
|
|
22.01.2006, 08:08
|
#5
|
Оператор ЭВМ
Регистрация: 30.12.2005
Сообщений: 45
Написано одно полезное сообщение
|
А вот на сайте MP в примере Dave
какрас используються спрайты,там даже есть библиотека но какие функции и процедуры я разобраться немогу
|
(Offline)
|
|
24.01.2006, 12:16
|
#6
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Гады они просто. Возьми у меня на сайте. Там все по русски.
А ImageFromImage я код посмотрел, там кусок исходной картинки рисуется на результирующей. О какой прозрачности потом можно говорить.
|
(Offline)
|
|
25.01.2006, 09:57
|
#7
|
Оператор ЭВМ
Регистрация: 30.12.2005
Сообщений: 45
Написано одно полезное сообщение
|
pilgrim,это всё хорошо но ты написал для Мидлета-2
а мне надо чтобы работала на Мидлет-1 !
|
(Offline)
|
|
25.01.2006, 21:03
|
#8
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
В MIDP 1.0 не было поддержки спрайтов и тайлов. Поэтому-то под него и было трудно писать игры. Покопаюсь в java, чтобы сделать прозрачность.
А Dave ничего нет, там все классы стандартны. А функция extractimage это ImageFormImage один в один. Нет там прозрачности, просто хорошая математика. Весь вывод на экран обрамлен Clip, и фон у всех картинок черный.
|
(Offline)
|
|
26.01.2006, 11:51
|
#9
|
Оператор ЭВМ
Регистрация: 30.12.2005
Сообщений: 45
Написано одно полезное сообщение
|
extractimage = ImageFormImage это я давно понел!
А вот спрайт героя сделан с прозрачностью,это значит если они вырезаю extractimage или ImageFormImage то фон будет белый ,а не чёрный!
И подойди к двери и ты увидешь что есть прозрачность,или посмотри на паука в 3 уровни!
|
(Offline)
|
|
06.02.2006, 12:24
|
#10
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Я тут draw_image написал. Вывод части картинки на экран с прозрачностью. Думаю это то что тебе нужно. Посмотри у меня на сайте.
|
(Offline)
|
|
06.02.2006, 17:39
|
#11
|
Оператор ЭВМ
Регистрация: 30.12.2005
Сообщений: 45
Написано одно полезное сообщение
|
Да я уже написал!
|
(Offline)
|
|
06.02.2006, 17:41
|
#12
|
Оператор ЭВМ
Регистрация: 30.12.2005
Сообщений: 45
Написано одно полезное сообщение
|
Вот страно в этой теме пропушеный сообшения!
|
(Offline)
|
|
16.04.2006, 12:30
|
#13
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Вобщем посмотрел как "извлекаются" прозрачные тайлы в MIDP 1.0... оказывается они не извлекаются, а просто используется одна и таже каотинка с совместным использованием setClip() так, что рисуется только нужная часть, а потом опять же с помощью setClip() возвращается в полноэкранное рисование.
|
(Offline)
|
|
16.04.2006, 20:01
|
#14
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Вот написал простой класс для этих целей
import javax.microedition.lcdui.*;
public class MyTileImage {
public Image TileImage;
public static Graphics g;
public int iWidth;
public int iHeight;
public int tWidth;
public int tHeight;
public int maxCountTiles;
public int rows;
public int cols;
public MyTileImage(Graphics _g, String fName, int TileWidth, int TileHeight){
g=_g;
try {
TileImage = Image.createImage(fName);
}
catch (Exception ex) {}
tWidth = TileWidth;
tHeight = TileHeight;
iWidth = TileImage.getWidth();
iHeight = TileImage.getHeight();
rows = iHeight/tHeight;
cols = iWidth/tWidth;
maxCountTiles = cols * rows;
}
public void DrawImage(int index, int x, int y, int style){
int row=index/cols;
int col=index%cols;
g.setClip(x, y, tWidth, tHeight);
g.drawImage(TileImage, x-(col)*tWidth, y-(row)*tHeight, style);
g.setClip(0,0,Game.displayWidth,Game.displayHeight);
}
public void Destroy(){
g=null;
TileImage=null;
}
}
|
(Offline)
|
|
17.04.2006, 09:35
|
#15
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Все бы хорошо. Только тема про МР и для него эта проблема уже решена. Не устаю повторять читайте не только свои сообщения.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:52.
|