- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang cố gắng chỉ theo dõi chuyển động của thiết bị theo hướng thẳng đứng, tức là chuyển động lên và xuống. Điều này phải độc lập với hướng của thiết bị. Những gì tôi đã biết hoặc đã thử là những
Gia tốc tuyến tính được cung cấp bởi cảm biến TYPE_LINEAR_ACCELERIC và trục là trục điện thoại nên việc theo dõi bất kỳ trục cụ thể nào đều không có tác dụng.
Tôi đã thử áp dụng chuyển vị hoặc đảo ngược của vectơ quay (đảo ngược hoặc chuyển vị của vectơ quay là như nhau) và sau đó cố gắng theo dõi hướng z của vectơ gia tốc tuyến tính. Có vẻ như không giúp được gì.
Tôi đang cố gắng tạo tích số chấm bằng cách sử dụng các giá trị trọng lực (TYPE_GRAVITY) để nhận được hướng gia tốc, nhưng có vẻ như nó dễ bị lỗi. Ngay cả khi tôi di chuyển thiết bị của mình lên nhanh chóng, nó vẫn hiển thị sự sụt giảm.
Tôi sẽ phác thảo cách tiếp cận ở đây
dotProduct = vectorA[0]*vectorB[0]+vectorA[1]*vectorB[1] + vectorA[2]*vectorB[2];
cosineVal = dotProduct/(|vectorA|*|vectorB|)
if(cosineVal > 0 ) down else Lên.
Những sai sót của phương pháp này là gì? Xin hãy giúp đỡ, tôi đã bị mắc kẹt trong vấn đề này một thời gian.
câu trả lời hay nhất
Như tôi thấy, trong phương pháp thứ ba, bạn đang cố gắng tìm cosin của góc giữa hai vectơ (vectơ trọng lực và vectơ gia tốc). Ý tưởng là di chuyển lên trên nếu góc gần 180 độ và di chuyển xuống dưới nếu góc gần 0 độ. Cosine là hàm có giá trị dương khi góc đi từ -90 độ đến 90 độ. Vì vậy khi của bạn cosinVal
Khi giá trị dương, có nghĩa là điện thoại đang rơi, ngay cả khi cosineVal gần bằng 1 thì chuyển động thẳng xuống. Vì vậy, ngược lại. Khi cosin âm (từ 90 độ đến 270 độ), bạn có chuyển động đi lên.
Có lẽ bạn có thể lấy nó từ https://developer.android.com/reference/android/hardware/SensorEvent.html#values của Cảm biến.TYPE_ACCELEROMETER
Nhận vectơ Có vectơ trọng lực và vectơ gia tốc.
Tôi đã tạo một đoạn mã bên dưới để bạn có thể thử.
lớp công khai MainActivity mở rộng AppCompatActivity triển khai SensorEventListener {
float riêng [] trọng lực = float mới [3];
float riêng [] tuyến tính_acceleration = float mới [3];
@Ghi đè
khoảng trống được bảo vệ trênCreate(Gói đã lưuInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Trình quản lý cảm biến mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
Cảm biến mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(cái này, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
@Ghi đè
public void onSensorChanged(sự kiện SensorEvent) {
// alpha được tính bằng t / (t + dT)
// với t, hằng số thời gian của bộ lọc thông thấp
// và dT, tốc độ phân phối sự kiện
số float cuối cùng alpha = 0,8f;
trọng lực[0] = alpha * trọng lực[0] + (1 - alpha) * sự kiện.values[0];
trọng lực[1] = alpha * trọng lực[1] + (1 - alpha) * sự kiện.values[1];
trọng lực[2] = alpha * trọng lực[2] + (1 - alpha) * sự kiện.values[2];
gia tốc tuyến tính[0] = sự kiện.values[0] - trọng lực[0];
gia tốc tuyến tính[1] = sự kiện.values[1] - trọng lực[1];
gia tốc tuyến tính[2] = sự kiện.values[2] - trọng lực[2];
float vô hướngSản phẩm = trọng lực[0] * gia tốc tuyến tính[0] +
trọng lực[1] * gia tốc tuyến tính[1] +
trọng lực[2] * gia tốc tuyến tính[2];
float GravityVectorLength = (float) Math.sqrt(trọng lực[0] * trọng lực[0] +
trọng lực[1] * trọng lực[1] + trọng lực[2] * trọng lực[2]);
float lianearAccVectorLength = (float) Math.sqrt(tuyến tính_gia tốc[0] * tuyến tính_accelutions[0] +
gia tốc tuyến tính[1] * gia tốc tuyến tính[1] + gia tốc tuyến tính[2] * gia tốc tuyến tính[2]);
float cosVectorAngle = scalarProduct / (GravityVectorLength * lianearAccVectorLength);
TextView tv = (TextView) findViewById(R.id.tv);
if (lianearAccVectorLength > 2) //tăng để chỉ phát hiện gia tốc lớn hơn, giảm để phát hiện nhạy hơn nhưng ồn hơn
nếu (cosVectorAngle > 0,5) {
tv.setText("Xuống");
} khác nếu (cosVectorAngle < -0.5) {
tv.setText("Lên");
}
}
}
@Ghi đè
public void onAccuracyChanged(Cảm biến cảm biến, int i) {
}
}
Về android - theo dõi hướng tăng tốc tuyến tính của chuyển động lên xuống của điện thoại di động, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/26155639/
Điều này có phát hiện khi điện thoại di chuyển như trong hình không? Tên của cái này trong Android là gì? Có sự kiện nào liên quan đến loại điều này không? Một năm trước, tôi thấy một ứng dụng có la bàn hoạt động theo thời gian thực. Cảm ơn bạn! Câu trả lời hay nhất Tôi hy vọng mã này sẽ giúp ích
Tôi đang xé tóc ra vì điều này. Vì một số lý do kỳ lạ, tôi không thể tìm/tìm ra cách di chuyển Sprites trong SFML và/hoặc SDL. Các hướng dẫn tôi đã xem cho cả hai thư viện đều không biết gì về điều này nên tôi nghĩ nó giống một thứ C++ hơn là một thư viện.
Vì vậy, gần đây tôi đã tìm hiểu DirectX11 nhưng tôi vẫn còn khá mới mẻ với nó. Bây giờ tôi đang cố gắng di chuyển một số thứ thông qua bản dịch và đây là những gì tôi có. Tôi đã đọc cuốn sách của Frank D Luna về DirectX11 và anh ấy cung cấp một
Tôi đã cố gắng tạo hoạt ảnh cho phần tử vẽ nhưng không thành công. Tôi có thể tạo hoạt ảnh cho các hình ảnh đã nhập, nhưng khi tôi cố gắng tạo hoạt ảnh cho các ô do pygame tạo ra, chúng vẫn ở trạng thái tĩnh. Chỉnh sửa: "hoạt hình" có nghĩa là "chuyển động". Giống như tạo đường tròn tại x và
Chà, tôi đã dùng thử Java được vài tuần rồi, theo dõi các lớp học và hướng dẫn trực tuyến. Tôi đã tạo một trò chơi đơn giản trong đó khối ở giữa rơi xuống cuối màn hình và người chơi điều khiển một quả bóng nhỏ, chỉ di chuyển trên trục x và cố gắng tránh chúng. Vấn đề tôi gặp phải là khối vuông
Tôi đang gặp một số vấn đề với mã python của mình, tôi đang tạo một phiên bản của một con rắn và vấn đề của tôi liên quan đến chuyển động của chính con rắn. Mình đã chỉnh hướng được rồi, mình chỉ cần làm sao cho con rắn tiếp tục di chuyển theo hướng nó báo bằng cách nhấn phím, mình cũng cần làm sao cho nó ab
Đó là mã của tôi. -(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { [[NSNotificationC
Tôi đang xây dựng ứng dụng chạy bộ Android này để đo khoảng cách của người dùng từ một thời điểm nhất định. Tôi không quan tâm đến việc sử dụng các tùy chọn GPS (kinh độ, vĩ độ), vì vậy nếu không có tùy chọn GPS và chỉ sử dụng cảm biến Android,
Kỷ luật tự giác là gì? Có một câu trả lời trên Internet: “Kỷ luật tự giác lành mạnh nhất là đi ngủ sớm, kỷ luật tự giác thiết thực nhất là tập thể dục, và kỷ luật tự giác phong phú nhất là đọc sách”. tâm trí, tập thể dục để nuôi dưỡng cơ thể và đọc sách để nuôi dưỡng trí não của bạn. Nếu kiên trì làm tốt ba việc này, bạn sẽ vượt qua rất nhiều người. 1 Bạn có bao giờ đi ngủ sớm mỗi ngày không?
Hãy xem xét dòng mã Lisp sau: (some-function 7 8 | 9) ;; một số nhận xét lưu ý phần thụt lề thêm Điểm nằm giữa "8" và
Trong Vim, làm cách nào để chuyển sang thẻ cha/anh em họ trong tệp xml? Tôi đang tìm kiếm thứ gì đó như: vatat " tạo vùng chọn cho thẻ cha thứ hai với tất cả c
Cách tốt nhất để thực hiện chuyển động Canvas như thế này bằng Dart là gì? http://jsfiddle.net/loktar/dMYvG/ Tôi đang cố gắng làm cho chuyển động của Canvas trở nên mượt mà và muốn xem Dart có thể làm gì. trở lại
Tôi đang cố gắng làm cho một vật thể di chuyển dọc theo một đường tròn trong một khoảng thời gian cố định. Ứng dụng này là một chiếc đồng hồ "chuyển động mượt mà". Vì vậy, thay vì di chuyển vị trí đến tọa độ cố định mỗi lần cập nhật .getSeconds(), tôi muốn sử dụng ( .getSecond
Tôi đang cố gắng tạo hoạt ảnh đơn giản trong đó một loạt bong bóng xoay quanh điểm trung tâm. Tôi có một phiên bản hoạt ảnh trong đó các bong bóng lan ra từ điểm trung tâm trước khi bắt đầu xoay, nó hoạt động rất tốt, nhưng ngay khi tôi nhấp vào một trong các hình ảnh (để kích hoạt hoạt ảnh), màn hình sẽ bị kẹt trong giây lát và sau đó bong bóng xuất hiện trong anh ấy
Cách đây không lâu, tôi bắt đầu học java như một sở thích vì tôi muốn làm một trò chơi nhỏ. Tôi đã học những điều cơ bản về Java và quyết định thử sức mình trong lĩnh vực phát triển trò chơi. JFrame của tôi và mọi thứ đều ổn, về mặt kỹ thuật thì tôi không có lỗi gì, nhưng anh chàng hình chữ nhật nhỏ của tôi sẽ không hiển thị trên màn hình
Tôi gặp vấn đề khi tạo trò chơi bi-a, khi mô phỏng đánh bóng tôi cần bóng bằng phản ứng, chương trình hoạt động như thế này, bạn bấm vào hướng và lực đánh rồi bấm bắt đầu, nút đi nằm ở tạo nhãn Trong lớp GUI, nút gọi một phương thức trong lớp chính của tôi để nhận tham số
Tôi đã từng sử dụng một cái gì đó tương tự trước đây trong các dự án 2d để chuyển động và nó luôn hoạt động. Bây giờ tôi đang sử dụng nó và nó cho tôi góc đúng và góc sai cho một số đầu ra. Tôi nghĩ có một số lỗi trong trình kích hoạt của tôi và tôi đã hiểu sai. Tuy nhiên, tôi đã kiểm tra nó khoảng một triệu lần. Pr
Tôi gặp sự cố với ứng dụng OpenGL của mình, bạn có thể thấy rõ điều đó trong ảnh gif này. Về cơ bản, tôi muốn di chuyển theo hướng con trỏ đang trỏ, nhưng điều này không xảy ra, thay vào đó hướng "chuyển tiếp" vẫn giữ nguyên. Ví dụ: nếu tôi quay 180° và nhấn "w" để đi về phía trước,
Vì vậy, tôi bắt đầu lập trình lại bằng C++ và thử OpenGL. Hiện tại tôi có một ứng dụng cơ bản mà tôi chỉ muốn di chuyển camera bằng các phím. Tôi đã đọc rất nhiều về điều này nhưng tôi đoán là tôi vẫn gặp vấn đề với các chuyển động vì dù chỉ một chút thôi chúng cũng không phù hợp với chương trình của tôi
Tôi có Sprite trong Android OpenGL. Sprite này (một con bọ nhỏ) luôn di chuyển về phía trước, tôi sử dụng: sprite.setPosition(posX, posY);
Tôi là một lập trình viên xuất sắc, rất giỏi!