Вниз  Android-программирование (1-ые посты)
- 6.12.2013 / 08:51
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
samodelkin, Это надо делать из того View, в котором рисуешь. А если потом понадобится выделять несколько спрайтов, для групповой подачи команд?
А так в главноем View получаешь координату нажатия, проходишь по списку всех спрайтов и проверяешь, границы каких из них содержат эту точку нажатия, и потом помечаешь эти спрайты.
Если надо будет сделать множественное выделение, тогда в главном View получаешь rectangle выделения (или просто x1, y1, x2, y2) и опять, проходя по всем спрайтам, проверяешь, содержится ли в том выделенном Rectangle границы (bounds) спрайтов.
Если не забуду, попробую пример набросать.
__________________
 let live
- 6.12.2013 / 09:31
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
aNNiMON, а почему мой класс Sprite, добавленный вчера в полезные коды удалился?
- 6.12.2013 / 09:49
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
samodelkin, потому что плохо отформатирован и решение не очень хорошее.
__________________
 let live
- 6.12.2013 / 14:33
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
aNNiMON, скажи а как отформатировать его и решение оптимальное сделать?
- 6.12.2013 / 14:40
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
samodelkin, Меню Source->Format
У тебя Sprite наследовался от View (зачем?), использовался класс Vector (зачем?) и еще мелкие недочёты. Написал статью, почитай.
__________________
 let live
- 6.12.2013 / 16:08
boNNdaR
  Пользователь

boNNdaR 
Сейчас: Offline
Возможно на андроиде делать трансформацию Rect объектов? То есть, я имею простой прямоугольник, а мне нужно его изменить как на картинке.

Изменено boNNdaR (6.12 / 16:09) (всего 1 раз)


Прикрепленные файлы:
Sketch6515130.png (26.43 кб.) Скачано 143 раза
- 6.12.2013 / 16:24
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
boNNdaR, Есть класс Matrix, с помощью него можно поворачивать объекты в пространстве.
  1. Matrix m = new Matrix();
  2. // point - точка, относительно которой поворачивать
  3. m.setRotate(degrees, point.x, point.y);
  4. m.mapRect(r);

__________________
 let live

Изменено aNNiMON (6.12 / 16:28) (всего 3 раза)
- 6.12.2013 / 16:41
boNNdaR
  Пользователь

boNNdaR 
Сейчас: Offline
Мне нужно чтобы два левых угла прямоугольника не двигались, а два правых двигались. С помощью matrix такое не выйдет.

Изменено boNNdaR (6.12 / 16:41) (всего 1 раз)
- 6.12.2013 / 16:51
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
boNNdaR, я бы не был так категоричен:
matrix.setSkew(..)
__________________
 let live
- 7.12.2013 / 12:55
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
Скажите почему при старте Активности приложение завершается?

package com.example.horserace;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.LinearLayout;



public class MenuActivity extends Activity{
public ImageView bg,button1,button2,button3;
public LinearLayout ll;

protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         // Убираем заголовок
         this.requestWindowFeature(Window.FEATURE_NO_TITLE);
         // Убираем панель уведомлений
         this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

         bg=new ImageView(this);
bg.setImageResource(R.drawable.button1);
button1=new ImageView(this);
button1.setImageResource(R.drawable.button1);
button2=new ImageView(this);
button2.setImageResource(R.drawable.button2);
button3=new ImageView(this);
button3.setImageResource(R.drawable.button3);

ll=new LinearLayout(this);
ll.addView(bg);
ll.addView(button1);
ll.addView(button2);
ll.addView(button3);
this.setContentView(ll);
}

}
Наверх  Всего сообщений: 4453
Фильтровать сообщения
Поиск по теме
Файлы топика (184)