Результаты поиска
| |
arthurfok | Дата: Воскресенье, 21 Октября 2012, 21:16 | Сообщение # 21 | Тема: Ищу учителя по яп Сишарп |
частый гость
Сейчас нет на сайте
| ссылка на Djvu Reader Этим открой
Сообщение отредактировал arthurfok - Воскресенье, 21 Октября 2012, 21:17 |
|
| |
arthurfok | Дата: Воскресенье, 21 Октября 2012, 21:15 | Сообщение # 22 | Тема: Точка и запятая |
частый гость
Сейчас нет на сайте
| Так я же уже написал решение ! О_о if (s.Contains('.')) s = s.Replace('.', ',');
|
|
| |
arthurfok | Дата: Воскресенье, 21 Октября 2012, 16:18 | Сообщение # 23 | Тема: Ищу учителя по яп Сишарп |
частый гость
Сейчас нет на сайте
| Читай эти книги, и все будет норм: Сперва этот: Книга 1 (Основы) Потом этот: Книга 2 (Полное руководство)
После первой книги, вторая прочтешь за макс 3 недели. (т.к. уже многое будешь знать, и быстро освоишь новые тонкости) В обоих книгах автор очень хорошо все объясняет , как ученику 1 класса. Читай внимательнее и все поймешь. И не надо никому платить за обучение ,,, если что то не поймешь из книги, то пиши тут, поможем понять непонятное. Удачи
|
|
| |
arthurfok | Дата: Воскресенье, 21 Октября 2012, 16:06 | Сообщение # 24 | Тема: Точка и запятая |
частый гость
Сейчас нет на сайте
| Code using System; using System.Collections.Generic; using System.Linq; using System.Text; class SchimbValutar { static void Main() { double rate, lei, sum; string s;
Console.WriteLine("Введите курс для доллара"); s = Console.ReadLine(); if (s.Contains('.')) s = s.Replace('.', ','); rate = Convert.ToDouble(s);
Console.WriteLine("Сколько леев вы хотите продать?"); s = Console.ReadLine(); if (s.Contains('.')) s = s.Replace('.', ','); lei = Convert.ToDouble(s);
sum = lei / rate; Console.WriteLine("Вы можете купить " + sum + "$"); } }
Вообще то, если в твое число с точкой ( в место запетой) , то Convert.ToDouble() должен выдать вот такой error: Input string was not in a correct format.
Сообщение отредактировал arthurfok - Понедельник, 22 Октября 2012, 15:35 |
|
| |
arthurfok | Дата: Воскресенье, 21 Октября 2012, 15:57 | Сообщение # 25 | Тема: 2д столкновения |
частый гость
Сейчас нет на сайте
| то есть, если в следующем шаге будет столкновение (например при нажатии Up) , то не пускать чтоб он пошел на верх, а только в другие направления?? Я правильно понял?
|
|
| |
arthurfok | Дата: Суббота, 20 Октября 2012, 22:59 | Сообщение # 26 | Тема: Метод Texture.GetData() |
частый гость
Сейчас нет на сайте
| это можно вычислить
|
|
| |
arthurfok | Дата: Суббота, 20 Октября 2012, 22:52 | Сообщение # 27 | Тема: 2д столкновения |
частый гость
Сейчас нет на сайте
| допустим , функция проверяющая столкновения:bool Intersects(Rectangle rect1, Color[] data1, Rectangle rect2, Color[] data2). Где rect1 и data1 - это прямоугольник и массив цветов первого обьекта с позицией NextPos,, а rect2 и data2 - второго. Тогда..
Code if(!Intersects(Hero.rect,Hero.Data,Pulya.rect,Pulya.Data)) //То есть, если столкновении нет, то: { Hero.POS=Hero.NextPos; // Pulya.POS=Pulya.NextPos; //... //... }
Что то в этом роде.Добавлено (20.10.2012, 22:52) --------------------------------------------- Вот сама функция: Code bool Intersects(Rectangle rect1, Color[] data1, Rectangle rect2, Color[] data2) { int top = Math.Max(rect1.Top,rect2.Top); int bottom = Math.Min(rect1.Bottom, rect2.Bottom); int left = Math.Max(rect1.Left, rect2.Left); int right = Math.Min(rect1.Right, rect2.Right);
for (int y = top; y < bottom; y++) { for (int x = left; x < right; x++) { http://gcup.ru/forum/66-27176-1#top Color color1=data1[(x-rect1.Left)+(y-rect1.Top)*rect1.Width]; Color color2 = data2[(x - rect2.Left) + (y - rect2.Top) * rect2.Width]; if (color1.A != 0 && color2.A != 0) return true; } } return false; }
Получение массива цветов: Code Hero.Data = new Color[sprite.Width * sprite.Height]; Hero.Sprite.GetData(Hero.Data);
|
|
| |
arthurfok | Дата: Суббота, 20 Октября 2012, 22:34 | Сообщение # 28 | Тема: Метод Texture.GetData() |
частый гость
Сейчас нет на сайте
| Да , я у меня тоже этот алгоритм )))
|
|
| |
arthurfok | Дата: Четверг, 18 Октября 2012, 23:30 | Сообщение # 29 | Тема: Метод Texture.GetData() |
частый гость
Сейчас нет на сайте
| Я нашел решение)) Разделяем наш спрайт-шит на отдельные спрайты: Code public Texture2D[] Split(Texture2D original, int partWidth, int partHeight, out int xCount, out int yCount) { yCount = original.Height / partHeight;//The number of textures in each horizontal row xCount = original.Width / partWidth;//The number of textures in each vertical column Texture2D[] r = new Texture2D[xCount * yCount];//Number of parts = (area of original) / (area of each part). int dataPerPart = partWidth * partHeight;//Number of pixels in each of the split parts
//Get the pixel data from the original texture: Color[] originalData = new Color[original.Width * original.Height]; original.GetData<Color>(originalData);
int index = 0; for (int y = 0; y < yCount * partHeight; y += partHeight) for (int x = 0; x < xCount * partWidth; x += partWidth) { //The texture at coordinate {x, y} from the top-left of the original texture Texture2D part = new Texture2D(original.GraphicsDevice, partWidth, partHeight); //The data for part Color[] partData = new Color[dataPerPart];
//Fill the part data with colors from the original texture for (int py = 0; py < partHeight; py++) for (int px = 0; px < partWidth; px++) { int partIndex = px + py * partWidth; //If a part goes outside of the source texture, then fill the overlapping part with Color.Transparent if (y + py >= original.Height || x + px >= original.Width) partData[partIndex] = Color.Transparent; else partData[partIndex] = originalData[(x + px) + (y + py) * original.Width]; }
//Fill the part with the extracted data part.SetData<Color>(partData); //Stick the part in the return array: r[index++] = part; } //Return the array of parts. return r; }
Использование: Code Texture2D spriteSheet=Content.Load<Texture2D>("Run"); int xCount,yCount; Texture2d[] parts = Split(spriteSheet, 10, 10, out xCount, out yCount); /// ///... /// parts[frame].GetData(runnerData); где frame - текущий кадр.
|
|
| |
arthurfok | Дата: Четверг, 18 Октября 2012, 19:29 | Сообщение # 30 | Тема: Метод Texture.GetData() |
частый гость
Сейчас нет на сайте
| Есть sprite-sheet.
если сделать так: Code Rectangle rec = new Rectangle((int)pos.X, (int)pos.Y, sprite.Width, sprite.Height); Corol[] runnerData = new Color[rec.Width * rec.Height]; sprite.GetData(runnerData); То в runnerData будут ВСЕ пиксели данного спрайта. Теперь вопрос,, как сделать так, что бы в runnerData были только пиксели определенного "кадра" ??
П.С. я пытаюсь сделать per pixel collision detection для анимированного спрайта (т.к. мой персонаж бегает :)) )
|
|
| |
arthurfok | Дата: Воскресенье, 14 Октября 2012, 13:25 | Сообщение # 31 | Тема: Анимация бега из рисованного персонажа |
частый гость
Сейчас нет на сайте
| Дело в том, что я не могу найти спрайт-щит бега стикмана Было бы хорошо, если бы кто смог нарисовать анимацию бега стикмена (в прозрачном или белом фоне) , я сам смогу из анимации сделать спрайт шит.
|
|
| |
arthurfok | Дата: Суббота, 13 Октября 2012, 22:02 | Сообщение # 32 | Тема: Анимация бега из рисованного персонажа |
частый гость
Сейчас нет на сайте
| дело в том , что в игре графики , так сказать , не будет ))) будет черно белая игра,, будет лишь линя, и барьеры в виде кубиков. Мне только нужен, чтобы был бегающий персонаж =)
|
|
| |
arthurfok | Дата: Суббота, 13 Октября 2012, 10:34 | Сообщение # 33 | Тема: Анимация бега из рисованного персонажа |
частый гость
Сейчас нет на сайте
| Здравствуйте. Я пишу маленькую игру , в котором персонаж должен бегать и прыгать, и для этого мне нужны спрайты персонажа (спрайт-шит бега). Я программист, и не владею знаниями рисования и анимации, по этому решил обратится к вам. Пожалуйста , сделайте из этого рисунка спрайт-шит бега (или просто png файлы кадр,, склеить их в одну я умею). Вот рисунок: Я попробовал сам сделать, но вышло как то не айс ))) Вот: Если кто то сможет сделать нормальную анимацию , то пожалуйста пишите в ЛС. Заранее Спасибо
|
|
| |
arthurfok | Дата: Вторник, 28 Августа 2012, 17:57 | Сообщение # 34 | Тема: Снова Я ))) (и снова про XNA) |
частый гость
Сейчас нет на сайте
| Stalker_Shooter, ((((
|
|
| |
arthurfok | Дата: Вторник, 28 Августа 2012, 11:04 | Сообщение # 35 | Тема: Снова Я ))) (и снова про XNA) |
частый гость
Сейчас нет на сайте
| Stalker_Shooter, хорошо, буду ждать. заранее спасибо. VolkodavAD, да ты прав, искажение есть (написал Vector2 ,чтоб передать в аргументы в spritebatch.Draw() ,, scalxe.X -это масштаб по оси Х, а scale.Y - по оси Y)
Сообщение отредактировал arthurfok - Вторник, 28 Августа 2012, 11:04 |
|
| |
arthurfok | Дата: Суббота, 25 Августа 2012, 16:57 | Сообщение # 36 | Тема: Снова Я ))) (и снова про XNA) |
частый гость
Сейчас нет на сайте
| можно ли сделать так, что бы программа (игра) автоматически изменила все свои размеры под любой монитор (под любое разрешение) в том числе и окна WinForms (которые я добавил в проект) ??? Например у меня разрешение стоит 1280*1024 и я пишу программу под свой монитор (размеры текстур и т.д.) и что бы она отображалась на других мониторах (скажем 1024*768) в таком же масштабе как и у меня , я сделал так: в Vector2 scale считал scale.X и scale.Y в зависимости от разрешения экрана и при рисовании в spriteBatch.Draw передал аргумент scale ,,, но т.к. у меня до фига текстур, которых надо рисовать, то таким образом придется у всех передать этот scale. Вот,,,, можно ли как нибудь это автоматизировать?? например в конструкторе Game1 написать что то, после чего все сделалось автоматически , или как то еще? (и вообще как все это делают в написании игр?! )
Спасибо
Сообщение отредактировал arthurfok - Суббота, 25 Августа 2012, 18:10 |
|
| |
arthurfok | Дата: Вторник, 21 Августа 2012, 13:54 | Сообщение # 37 | Тема: Позиция окна игры |
частый гость
Сейчас нет на сайте
| VolkodavAD, а почему , когда это делаю не в функции Initialize, а в конструкторе Game1, то не выходит? почему именно Initialize?
|
|
| |
arthurfok | Дата: Воскресенье, 19 Августа 2012, 10:34 | Сообщение # 38 | Тема: Сокеты?? |
частый гость
Сейчас нет на сайте
| _pDirectDevice, спасибо ))) Saitei, я пишу 2D стрелялку , то есть будут передаваться позиция(X,Y),угл, сообщение что персонаж стреляет, и т.д...
|
|
| |
arthurfok | Дата: Воскресенье, 19 Августа 2012, 00:56 | Сообщение # 39 | Тема: Сокеты?? |
частый гость
Сейчас нет на сайте
| Saitei, а что ты предлагаешь ? )
|
|
| |
arthurfok | Дата: Пятница, 17 Августа 2012, 23:20 | Сообщение # 40 | Тема: Сокеты?? |
частый гость
Сейчас нет на сайте
| Kamskii, шутка просто супер ))))))) а про сокеты?? вообще сетевые игры делаются UDP сокетами или TCP ?))
|
|
| |
|